11762

Розробка програмного забезпечення автоматизованого дослідження операцій про оптимальне планування асортименту продукції верстатобудівельного заводу

Курсовая

Математика и математический анализ

Вступ [2] 1. Теоретичні основи дослідження операцій [2.1] 1.1 Завдання на розробку програмного забезпечення [2.2] 1.2 Основні поняття дослідження операцій [2.3] 1.3 Метод послідовного покращення плану перший алгоритм [2.4] 1.4 Задачі лінійного прогр...

Украинкский

2013-04-11

3.97 MB

18 чел.

[1] Вступ

[2]
1. Теоретичні основи дослідження операцій

[2.1] 1.1 Завдання на розробку програмного забезпечення

[2.2] 1.2 Основні поняття дослідження операцій

[2.3] 1.3 Метод послідовного покращення плану (перший алгоритм)

[2.4] 1.4 Задачі лінійного програмування з одиничним базисом

[3]
2. Автоматизоване дослідження операцій про оптимальне планування асортименту проукції верстатобудівельного заводу

[3.1] 2.1 Загальні відомості

[3.2] 2.2 Якісна постановка задачі

[3.3] 2.3 Кількісна постановка задачі та двоїста задача

[4]
3 Розробка програмного забезпечення

[4.1] 3.1 Обґрунтування вибору засобів розробки прикладного програмного забезпечення

[4.2] 3.2 Опис програмного забезпечення

[4.3] 3.3 Визначення варіантів використання

[4.4] 3.4 Інсталювання програмного забезпечення

[4.5] 3.5 Контроль коректності роботи програмного забезпечення

[4.6] 3.6 Інструкція користувачу

[4.7] 3.7 Результати отриманні при рішенні задачі курсового проекту про оптимальне планування продукції верстатобудівельного заводу

[4.8] 3.8 Перевірка достовірності отриманого рішення

[4.9] 3.9 Встановлення області стійкості отриманого рішення

[4.10] 3.10 Алгоритмічне забезпечення

[5]
Висновки

[6]
СПИСОК ДЖЕРЕЛ ІНФОРМАЦІЇ

[7]
ДОДАТОК А

[8] ДОДАТОК Б

[9] ДОДАТОК В

[10] ДОДАТОК Г


Вступ

У наш час, інформаційний вік, дуже поширилося використання ЕОМ для полегшення людині рутинної праці, такої як великі обчислення, ввод великої кількості даних тощо. Для того, щоб ЕОМ могла виконувати свої функції, для неї повинно бути створене програмне забезпечення, саме тому даний курсовий проект є актуальним у наш час, бо його метою є розробка програмного забезпечення автоматизованого дослідження операцій для сучасних ЕОМ. Потрібно відзначити, що розв’язання задач лінійного програмування – це також сучасна тема, бо людська діяльність потребує комплексного, точного та ефективного дослідження операцій. Для знаходження оптимальної стратегії діяльності сучасних підприємств наявні методи дослідження операцій можуть набагато полегшити рішення поставленого завдання. Їхньою основною особливістю є побудова математичних моделей і використання їх для дослідження й аналізу функціонування системи з метою пошуку оптимальної стратегії управління. Таким чином, головним завданням дослідження операцій є ухвалення рішення або вибору способу дій у сформованій ситуації. Аналіз заданого завдання припускає подання складної проблеми у вигляді більше дрібних проблем, які легше піддаються логічному розгляду. Порівняння різних варіантів рішення ґрунтується на кількісних оцінках, що дозволяють однозначно визначити корисність очікуваного результату (доходи, витрати, наявність резервів активних засобів і т.п.).

При побудові моделей необхідно детальне дослідження заданої предметної області з метою визначення критеріїв, що роблять істотний вплив на ухвалення рішення. Тому отримані в результаті моделювання завдання в основному мають високу розмірність і для їхнього рішення необхідне використання ЕОМ. Хоча в кожному разі при моделюванні необхідно шукати компроміс між бажанням максимально відбити сутність проблеми, що приводить до надмірного ускладнення моделі й неможливості реалізації рішення навіть за допомогою ЕОМ, і сильним спрощенням моделі, що може привести до невірогідності отриманих результатів.

Метою цього курсового проекту є розробка програмного забезпечення автоматизованого дослідження операцій про оптимальне планування асортименту продукції верстатобудівельного заводу на основі методу поступового покращення плану (перший алгоритм). Сучасні верстатобудівельні заводи являють собою складні системи, ефективність функціонування яких визначається якістю організаційного управління ними. Щоб домогтися якісного управління такими системами, необхідне формування стратегічних рішень, які повинні враховувати велику кількість факторів і складні критерії ефективності шляхів досягнення мети. У цьому випадку, при знаходженні оптимальної стратегії, методи дослідження операцій можуть набагато полегшити рішення поставленого завдання.


1. Теоретичні основи дослідження операцій

1.1 Завдання на розробку програмного забезпечення

Метою даного курсового проекту є розробка програмного забезпечення автоматизованого дослідження операцій про оптимальне планування асортименту продукції верстатобудівельного заводу на основі методу поступового покращення плану (симплекс метод алгоритм перший).

Програмне забезпечення повинно коректно виконувати поставлену задачу оптимізації, та мати дружній та ергономічний інтерфейс користувача.

У даному програмному продукті необхідно реалізувати наступні функції та можливості:

  •  Відкриття інформації із файлу
  •  Збереження у файл
  •  Ввід даних
  •  Корегування даних
  •  Рішення задачі
  •  Перевірка достовірності отриманого рішення
  •  Перевірка області стійкості
  •  Побудова графіку цільової функції

Мінімальні вимоги до характеристик апаратного забезпечення для коректної роботи застосування:

- CPU Pentium 1,4 Ghz;

- 240Mb оперативної пам’яті;

- 20Mb вільного місця на жорсткому диску;

- 2 Mb відеокарта;

- монітор з роздільною здатністю 800x600.

Програмне забезпечення повинно працювати в операційних системах Windows NT, Windows 2000, Windows XP , Windows Vista або більш нових версіях.

Програмне забезпечення необхідно реалізувати на мові програмування С# у середовищі Microsoft Visual Studio 2005, що  має забезпечити коректне виконання всіх вимог поставлених до програмного продукту. Програмне забезпечення повинно бути мобільним і мати вказівки та інструкції по роботі та встановленню для користувача.

1.2 Основні поняття дослідження операцій

Як і кожна сформована наука, дослідження операцій має свою власну систему понять. Розглянемо основні.

При цьому під операцією розуміється будь-який керований захід, спрямований на досягнення мети. Результат операції залежить від способу її проведення чи організації, інакше — від вибору деяких параметрів.

Будь-який вибір набору параметрів називається рішенням. Оптимальними вважаються ті рішення, що в обговореному заздалегідь сенсі мають переваги над іншими. Виходячи з мети цієї теорії, можна сказати, що основним завданням дослідження операцій є знаходження оптимальних рішень у рамках обраної моделі.

Модель операції— це якомога точніший опис операції за допомогою математичного апарата.

Ефективність операції— це ступінь її пристосованості до виконання поставленої мети, що кількісно виражається у вигляді цільової функції. Вибір критерію ефективності визначає практичну цінність дослідження.

Поняття, пов’язані з дослідженням операцій, можуть бути використані в різноманітних дослідженнях, але для кожної конкретної операції вони вимагають відповідної інтерпретації, яка відображає фізичну сутність досліджуваних явищ .

Операція – це комплекс взаємозалежних дій, призначених для досягнення заданої мети. При цьому основною метою операції є виявлення стратегії її проведення.

Стратегія – це сукупність нерозривних цілей і способів досягнення цілей, припустимі способи витрати наявних у резерві активних коштів.

Стороною, що оперує, називають сукупність елементів, що утворюють певну структуру, призначену для активного досягнення поставленої мети із заданою ефективністю. По суті, визначення сторони, що оперує, задовольняє визначенню системи. Система складається з елементів, які утворять певну структуру.

Елемент – це неподільна частина системи з наперед заданими відомими властивостями.

Структура – це множина елементів системи й зв’язки між ними, що виникають у процесі діяльності системи.

Ціль – це той кінцевий стан, що його прагне зайняти система в результаті проведення операції. Такий стан називається цільовим станом.

Щоб довідатися, наскільки система близька до цільового стану, використається таке поняття як критерій ефективності операції.

Критерій ефективності операції — кількісний показник, що характеризує ступінь досягнення мети. Критерій ефективності є критерієм оптимальності стратегій сторони, що оперує, тому що дозволяє здійснити порівняльні оцінки різних стратегій до початку їхньої реалізації. Зазвичай інтерес представляють стратегії, що забезпечують максимальний ступінь досягнення мети, що відповідає екстремальному (мінімальному або максимальному) значенню критерію. Прикладами критеріїв є: дохід, прибуток підприємства, що здійснює виробництво товарної продукції, витрати на досягнення обраної мети; час досягнення мети; вірогідність результатів процесів, обробки інформації та ін.

Для проведення операції насамперед необхідно сформувати математичну модель операції.

Математичною моделлю операції називають сукупність абстрактних математичних співвідношень, що відбивають фізичні, хімічні, енергетичні, економічні, соціальні, інформаційні закономірності протікання процесів, які визначають зміну станів операції. Кожна модель є проявом суб’єктивних знань про об’єкт сторони, що оперує. Процес створення моделі вимагає чіткого усвідомлення мети операції, проникнення в суть явищ, які моделюються, уміння відокремлювати головне від другорядного.

У процесі формування як стратегічних, так і тактичних рішень керівник змушений брати до уваги численні, нерідко взаємосуперечливі вимоги і спиратися на складні критерії досягнення кінцевих цілей. У цих умовах для досягнення високого рівня управління йому далеко не завжди вистачає професійних знань, власного досвіду, інтуїції й організаторських здібностей у їх традиційному розумінні. Потрібні науково обґрунтовані й точні методи прийняття рішень.

Однак зауважимо, що сам реальний процес ухвалення рішення виходить за рамки науки дослідження операцій і належить до компетенції особи (частіше групи осіб), що приймає рішення (ОПР). Неодмінна присутність людини не скасовується навіть у разі повної автоматизації системи управління.

Основною особливістю дослідження операцій є побудова математичних моделей і використання для їх аналізу математичного апарата. Це насамперед означає, що хоча б деякі дані, які фігурують у формулюванні задачі, мають мати кількісне вираження. Міркування якісного характеру є своєрідним тілом для використовуваної моделі і враховуються додатково.

1.3 Метод послідовного покращення плану (перший алгоритм)

Основна ідея симплекс-методу полягає в переході від одного допустимого базисного рішення до іншого таким чином, що значення цільової функції при цьому безперервно зростають (для задач максимізації).

Припустимо, що обмеження завдання зведені до такого виду, що в матриці А є одинична підматриця і усі вільні члени позитивні. Іншими словами, нехай матриця обмежень має вигляд

A1x1+...+Anxn+e1xn+e1xn+1+...+emxn+m=A0=[ai0],

де

для усіх i = 1, 2,., n.

Застосуємо одну ітерацію методу повного виключення до розширеної матриці обмежень Ap=[A1, ..., An, e1, ..., em, A0].

Нехай aij - направляючий елемент перетворення на цій ітерації. Тоді в результаті перетворень отримаємо нові значення вільних членів :

(1.1)
Дослідимо вирази (1.1) і з'ясуємо умови, при яких для усіх l, тобто нове базисне рішення буде також допустимим.

По припущенню , тоді

Якщо , тоді , оскільки .

Якщо , то

буде більше нуля при усіх l=1, 2, ..., m тоді і тільки тоді, коли

(1.2)
Перетворення Гауса називають симплексним перетворенням, коли направляючий елемент визначають за наступними правилами:

a) направляючий стовпець j вибирають з умови, що в нім є хоч би один позитивний елемент;

б) направляючий рядок i вибирають так, щоб відношення було мінімальне за умови, що aij>0.

При такому перетворенні у базис вводиться вектор Aj і виводиться вектор Аi. Тепер потрібно визначити, як вибрати вектор, що вводиться у базис, щоб при цьому значення цільової функції збільшилося.

Для цього використовують так звані оцінки векторів :

, (1.3)
де  - безліч індексів базисних векторів;
xij - визначають з умови

(1.4)
Величини  рівні симплекс-разницам для змінних
{xj} з протилежним знаком. Отже, для того, щоб значення цільової функції збільшилося, необхідно вибрати направляючий стовпець Аj з найбільшою по модулю негативною оцінкою.

Для вирішення завдання симплекс-методом на кожній ітерації заповнюють симплекс-таблицю 1.1 (див. таблиця 1.1).

Таблиця 1.1 Симплекс-таблиця

c

 

 

c1

c2

c3

 

cj

.

cn

 

Bx

a00

A1

A2

A3

.

.

An

c1

x1

a10

a11

a12

a13

.

a1j

.

a1n

c2

x2

a20

a21

a22

a23

.

a2j

.

a2n

.

.

.

.

.

.

.

.

.

.

 

xi

ai0

ai1

ai2

ai3

.

aij

.

ain

сi

.

.

.

.

.

.

.

.

.

cm

xm

am0

am1

am2

am3

.

amj

.

amn

 

 

.

.

Останній рядок таблиці - індексний - слугує для визначення направляючого стовпця. Її елементи визначають по формулі (1.3). Очевидно, для усіх базисних векторів {Ai} i=1,.,m оцінки .

Значення цільової функції a00 визначається із співвідношення

У стовпці Bx записуємо базисні змінні {xi} i= 1, ..., m. Їх значення визначаються стовпчиком вільних членів ai0, тобто

Xi=ai0, i=1,2,.,m.

Що направляють рядок Ai і стовпець Aj вказуються стрілками. Якщо в якості направляючого елементу вибраний aij, то перехід від цієї симплекс-таблицы до наступної визначається співвідношеннями

  1.  Для усіх елементів направляючого рядка

  1.  Для елементів направляючого стовпця

  1.  Для усіх інших елементів матриці

Отже, алгоритм рішення задачі ЛП табличним симплекс-методом складається з етапів.

1. Розраховують і заповнюють початкову симплекс-таблицю з допустимим одиничним базисом, включаючи індексний рядок.

2. В якості направляючого стовпця вибирають Aj, для якого

3. Рядок напрямної Aі вибирають з умови

4. Роблять один крок (ітерацію) методу повного виключення Гауса з направляючим елементом aij. Зокрема, елементи індексного рядка нової таблиці обчислюють відповідно до формули

Правильність обчислень контролюють по формулах безпосереднього рахунку :

(1.5)
(1.5)
У стовпці
Bx нової таблиці замінюють xi на xj, а в стовпці З ci на cj.

5. Якщо усе , то нове базисне рішення - оптимально. Інакше переходять до етапу 2 і виконують чергову ітерацію.

6. Другий, третій і четвертий етапи повторюють до тих пір, поки одна з ітерацій не закінчиться одним з двох результатів :

а) усе . Це ознака (критерій) оптимальності базисного рішення останньої симплекс-таблицы;

б) знайдеться такою , що усі елементи цього стовпця . Це ознака необмеженості цільової функції на безлічі допустимих рішень задачі.

Назвемо деякі особливості застосування табличного симплекс-методу.

Якщо в якості початкового базису вибирають базис з вільних змінних, для яких ci=0, то оцінки для усіх небазисних змінних рівні , а відповідне значення цільової функції

Відсутність векторів з негативними оцінками при рішенні завдань максимізації є ознакою оптимальності відповідного базисного рішення.

Якщо існує такий небазисний вектор, для якого оцінка негативна, а усі елементи цього стовпця непозитивні, то цільова функція завдання в області допустимих рішень необмежена.

1.4 Задачі лінійного програмування з одиничним базисом 

Для визначеня початкового опорного плану в симплекс методі використаємо цей варіант.

Велика кількість задач ефективного розподілу обмежених активних засобів описуються задачамі лінійного програмування в стандартній формі

L = () max; A < ; ≥0 ;  з невід*ємним вектором обмежень (> 0 ).

Записав задачу в канонічній формі L = () max; A + Im m= ; ≥0; > 0, де m =(xn+1 , …… , xn+m) вектор штучних змінних, уведенних на етапі канонізації , Im – одинична матриця розміром m x m, отримують опорний план вихідної задачі 0  =(0, ) з базисом Fs ={An+1 , …… , An+m}. Цей одиничний базис і беруть в якості вихідного при рішенні задачі(вже у канонічній формі  першим або другим алгоритмом) .


2. Автоматизоване дослідження операцій про оптимальне планування асортименту проукції верстатобудівельного заводу

2.1 Загальні відомості

Стороною, що оперує, є верстатобудівельний завод, який для отримання доходу має будувати деревообробні верстати та реалізовувати їх по ринковим цінам.

Для створення верстатів використовуються певні запчастини (набори запчастин), які закуповуються на ринку. Вони і складають запаси активних засобів заводу. Потрібно щоб витрати певних складових частин на створення продукції заводу не перевищували цих запасів. Відобразивши продукцію заводу в якості вектору  де хі –це певна продукція, можемо записати систему,

ai1x1 + ai2x2 + ai3x3 + … + ainxn < bi, де i = 1..m, m = 12. Добто рівнянь у системі буде 12.                

Дана система відображає витрату активних засобів при створенні продукції верстатобудівельного заводу.

2.2 Якісна постановка задачі

Визначити у якому обсязі верстатобудівельному заводу необхідно випускати продукції, щоб при фіксованих витратах досягти максимальної виручки при продажі.

Згідно принципу формалізації. Надану операцію можна змінити математичною моделлю наступного вигляду.

  •  Цільова функція.
  •  Обмеження на ресурси активних коштів
                                                             
    31
    x1+71x2+74x3+46x4+81x5+9x6+x7+x23+11x24+x25 < 13240
    9
    x3+39x4+46x5+71x6+74x7+81x8+x9+x23+11x24+x25 <32400
    11
    x1+9x6+39x7+46x8+71x9+74x10+81x11+x23+x24+x25 <13240
    11
    x2+x8+9x9+39x10+46x11+71x12+74x13+81x23+11x24+x25 <13240
    11
    x2+x10+x11+9x12+39x13+46x14+71x15+74x16+81x24+x25 <32400
    11
    x11+x12+x13+x14+9x15+39x16+46x17+71x18+74x19+81x20 <13240
    9
    x13+39x14+46x15+71x16+74x17+81x18+11x19+x20+11x21+x22 <32400
    11
    x15+9x16+39x17+16x18+71x19+x20+11x21+x22+74x23+81x24 <13240
    11
    x13+x14+9x15+39x16+16x17+78x18+11x19+74x20+81x21+x22 <43240
    11
    x15+x17+x18+9x19+39x20+16x21+71x22+74x23+x24+81x25 <43240
  •  Обмеженя на об’єм виконуваних робіт
    ,
     j = 1,25

2.3 Кількісна постановка задачі та двоїста задача

Визначити в якій кількості Вологодський верстатобудівельний завод повинен виготовляти деревообробних верстатів, щоб в умовах обмеженості ресурсів (місця на сховищі, супорту, шпинделів, ножових та пильних органів, механізмів подачі, двигунів, проміжкових ланцюгів, труда, зажимів, прижимів, місць для кріплення) отримати максимальний дохід при реалізації вищеназваних товарів за ринковою вартістю.

Структурно-функціональна схема (рис.2.1)

Рисунок 2.1 – Структурно-функціональна схема операції

Змінні:

X1  – кількість “УСК-1 Установка стационарная круглопильная двухпильная” 

X2 – кількість “УСК-1-1 Установка стационарная круглопильная однопильная” 

X3 – кількість “УБК-2 Установка бревнопильная круглопильная”

X4 – кількість “УЛП-1М Установка ленточнопильная” 

X5 – кількість “УЛП-1Д Установка ленточнопильная делительная” 

X6 – кількість “УЛП-1ДМ Установка ленточнопильная делительная” 

X7 – кількість “УЛП-2 Установка ленточнопильная” 

X8 – кількість “СЛМ-1 Станок ленточнопильный” 

X9 – кількість HIROTA Станок ленточнопильный делительный”

 X10 кількість “Ц2Д-7А Станок двухпильный обрезной” 

X11 –кількість “Ц2Д-8 Станок специальный двухпильный обрезной” 

X12 –кількість “Ц2Д-У Станок двухпильный обрезной” 

X13 –кількість “Ц2Д-1Ф Станок фрезерно-обрезной” 

X14– кількість “ЦКБ40-3 Станок торцовочный”

X15– кількість “Ц5Д-7 Станок многопильный 

X16 –кількість “Ц5Д-8 Станок многопильный” 

X17кількість “Ц8Д-12 Станок многопильный двухвальный для продольной распиловки бруса” 

X18– кількість “Ц8Д150-1 Станок круглопильный многопильный для продольной распиловки бруса” 

X19– кількість “Ц8Д-8М-03 Станок многопильный” 

X20– кількість “ЛАПБ-2М Линия специальная агрегатной переработки брёвен модернизированная” 

 X21– кількість “Ц8Д150-1 Станок круглопильный многопильный для продольной распиловки бруса” 

X22– кількість “ЛАПБ-4 Линия агрегатной переработки брёвен”  

X23– кількість “ЛБК-1 Линия круглопильная для продольной распиловки брёвен” 

X24– кількість “Ц6-4 Станок круглопильный форматно-обрезной”  

X25– кількість “ЦТМФ-1 Станок специальный с программным управлением для раскроя плит”

Критерій оптимальності –максимум доходу.

Цільова функція має вид:

 

Обмеження:

  •  Витрата станини:
    31
    x1+71x2+74x3+46x4+81x5+9x6+x7+x23+11x24+x25 < 13240 (шт)
  •  Витрата супорту:
    9x3+39x4+46x5+71x6+74x7+81x8+x9+x23+11x24+x25 <32400 (шт)
  •  Витрата шпинделів:
    11x1+9x6+39x7+46x8+71x9+74x10+81x11+x23+x24+x25 <13240 (шт)
  •  Витрата ножових та пильних органів:
    11
    x2+x8+9x9+39x10+46x11+71x12+74x13+81x23+11x24+x25 <13240 (шт)
  •  Витрата механізмів подачі:
    11
    x2+x10+x11+9x12+39x13+46x14+71x15+74x16+81x24+x25 <32400 (шт)
  •  Витрата двигунів:
    11
    x11+x12+x13+x14+9x15+39x16+46x17+71x18+74x19+81x20 <13240 (шт)
  •  Витрата проміжкових ланцюгів:
    9
    x13+39x14+46x15+71x16+74x17+81x18+11x19+x20+11x21+x22 <32400 (шт)
  •  Витрата труда:
    11x15+9x16+39x17+16x18+71x19+x20+11x21+x22+74x23+81x24 <13240 (ч/год)
  •  Витрата зажимів :
    11
    x13+x14+9x15+39x16+16x17+78x18+11x19+74x20+81x21+x22 <43240 (шт)
  •  Витрата прижимів:
    11
    x15+x17+x18+9x19+39x20+16x21+71x22+74x23+x24+81x25 <43240 (шт)
  •  Витрата місць для кріплення
    (шт)
  •  Обмеження місця на сховищі:
    (шт)
  •  Умова невідємності:

Визначити вектор Х*={x1*,x2*,x3*,x4*,……,x25*}, який буде підкорятися обмеженням та забезпечувати критерій оптимальності цільової функції.

X1  – кількість “УСК-1 Установка стационарная круглопильная двухпильная”

C1 = 383 – ціна за 1шт. “УСК-1 Установка стационарная круглопильная двухпильная”

X2 – кількість “УСК-1-1 Установка стационарная круглопильная однопильная” 

C2 = 525 - ціна за 1шт. “УСК-1-1 Установка стационарная круглопильная однопильная”

X3 – кількість “УБК-2 Установка бревнопильная круглопильная”

C3 = 667 - ціна за 1шт. “УБК-2 Установка бревнопильная круглопильная”

X4 – кількість “УЛП-1М Установка ленточнопильная” 

C4 = 809 - ціна за 1шт. “УЛП-1М Установка ленточнопильная” 

X5 – кількість “УЛП-1Д Установка ленточнопильная делительная”

C5 = 951 - ціна за 1шт. “УЛП-1Д Установка ленточнопильная делительная” 

X6 – кількість “УЛП-1ДМ Установка ленточнопильная делительная”

C6 = 1093 - ціна за 1шт. “УЛП-1ДМ Установка ленточнопильная делительная” 

X7 – кількість “УЛП-2 Установка ленточнопильная”

C7 = 1235 - ціна за 1шт. “УЛП-2 Установка ленточнопильная” 

X8 – кількість “СЛМ-1 Станок ленточнопильный”

C8 = 1377 - ціна за 1шт. “СЛМ-1 Станок ленточнопильный” 

X9 – кількість HIROTA Станок ленточнопильный делительный”

C9 = 1519 - ціна за 1шт.HIROTA Станок ленточнопильный делительный”

X10 кількість “Ц2Д-7А Станок двухпильный обрезной” 

C10 = 1661 - ціна за 1шт. “Ц2Д-7А Станок двухпильный обрезной” 

X11 –кількість “Ц2Д-8 Станок специальный двухпильный обрезной” 

C11 = 1803 - ціна за 1шт. Ц2Д-8 Станок специальный двухпильный обрезной” 

X12 –кількість “Ц2Д-У Станок двухпильный обрезной” 

C12 = 1945 - ціна за 1шт. “Ц2Д-У Станок двухпильный обрезной” 

X13 –кількість “Ц2Д-1Ф Станок фрезерно-обрезной” 

C13 = 2087 - ціна за 1шт. “Ц2Д-1Ф Станок фрезерно-обрезной” 

X14– кількість “ЦКБ40-3 Станок торцовочный”

C14 = 2229 - ціна за 1шт. “ЦКБ40-3 Станок торцовочный

X15– кількість “Ц5Д-7 Станок многопильный 

C15 = 2371 - ціна за 1шт. “Ц5Д-7 Станок многопильный 

X16 –кількість “Ц5Д-8 Станок многопильный” 

C16 = 2513 - ціна за 1шт. “Ц5Д-8 Станок многопильный” 

X17кількість “Ц8Д-12 Станок многопильный двухвальный для продольной распиловки бруса” 

C17 = 2655 - ціна за 1шт. “Ц8Д-12 Станок многопильный двухвальный для продольной распиловки бруса” 

X18– кількість “Ц8Д150-1 Станок круглопильный многопильный для продольной распиловки бруса” 

C18 = 2797 - ціна за 1шт. “Ц8Д150-1 Станок круглопильный многопильный для продольной распиловки бруса” 

X19– кількість “Ц8Д-8М-03 Станок многопильный” 

C19 = 2939 - ціна за 1шт. “Ц8Д-8М-03 Станок многопильный” 

X20– кількість “ЛАПБ-2М Линия специальная агрегатной переработки брёвен модернизированная” 

C20 = 3081 - ціна за 1шт “ЛАПБ-2М Линия специальная агрегатной переработки брёвен модернизированная” .

 X21– кількість “Ц8Д150-1 Станок круглопильный многопильный для продольной распиловки бруса” 

C21 = 3223 - ціна за 1шт. “Ц8Д150-1 Станок круглопильный многопильный для продольной распиловки бруса” 

X22– кількість “ЛАПБ-4 Линия агрегатной переработки брёвен”  

C22 = 3365 - ціна за 1шт. “ЛАПБ-4 Линия агрегатной переработки брёвен” 

X23– кількість “ЛБК-1 Линия круглопильная для продольной распиловки брёвен” 

C23 = 3507 - ціна за 1шт. “ЛБК-1 Линия круглопильная для продольной распиловки брёвен” 

X24– кількість “Ц6-4 Станок круглопильный форматно-обрезной”  

C24 = 3649 - ціна за 1шт. “Ц6-4 Станок круглопильный форматно-обрезной” 

X25– кількість “ЦТМФ-1 Станок специальный с программным управлением для раскроя плит”

C25 = 3791 - ціна за 1шт. “ЦТМФ-1 Станок специальный с программным управлением для раскроя плит”

Двоїста задача.

=2500у1+13250у2+13240у3+32400у4+13240у5+13240у6+32400у7+13240у8+32400 у9+13240 у10+43240 у11+43240у12

y1+1y2+39y3 383

y1+2y2+71y3+11y6+11y7 525

y1+3y2+74y3+9y4 667

y1+4y2+46y3+39y4 809

y1+5y2+81y3+46y4+11y5 951

y1+6y2+9y3+71y4+9y5 1093

y1+7y2+y3+74y4+39y51235

y1+8y2+81y4+46y5+y6 1377

y1+9y2+y4+71y5+9y6 1519

y1+1y2+74y5+39y6+y7 1661

y1+11y2+81y5+46y6+y7+11y8 1803

y1+12y2+71y6+9y7+y8 1945

y1+13y2+74y6+39y7+y8+9y9+11y11 2087

y1+14y2+46y7+y8+39y9++y11 2229

y1+15y2+71y7+9y8+46y9+11y1+9y11+11y12 2371

y1+16y2+74y7+39y8+71y9+9y1+39y11 2513

y1+17y2+46y8+74y9+39y1+16y11+y12 2655

y1+18y2+71y8+81y9+16y1+78y11+y12 2797

y1+19y2+74y8+11y9+71y1+11y11+9y12 2939

y1+2y2+81y8+y9+y1+74y11+39y12 3081

y1+21y2+11y9+11y1+81y11+16y12 3223

y1+22y2+y9+y1+y11+71y12 3365

y1+23y2+y3+y4+y5+81y6+74y1+74y12 3507

y1+24y2+11y3+11y4+11y5+11y6+81y7+81y1+y12 3649

y1+25y2+y3+y4+y5+y6+y7+81y12 3791


3 Розробка програмного забезпечення 

3.1 Обґрунтування вибору засобів розробки прикладного програмного забезпечення

Вибір мови програмування найчастіше визначається даною апаратною платформою, існуючими напрацюваннями у напрямку за яким розробляється програмний продукт, наявністю підтримки розробником середовища та інструментальних засобів, а також підготовкою програміста. Сучасний розвиток у сфері розробок програмного продукту, представляє для програміста наступний спектр мов, які можуть задовольнити зростаючі потреби та вимоги. Найбільше поширення набули наступні мови програмування Visual Basic, C#, Java Script, PHP та багато інших. Зазначені мови є об’єктно-орієнтованими і надають великий спектр можливостей для розробника. Ці мови мають, як схожі риси так і різні можливості, які визначають використання тієї чи іншої мови при розробці додатків різного напрямку.

Основні можливості C#.

Мова програмування C# увібрала кращі риси цілого ряду своїх попередників.

Не дивлячись на вельми істотні відмінності між компонентною об'єктною моделлю COM (основного стандарту Microsoft для компонентного проектування і реалізації програмного забезпечення) і моделлю Java Beans, базовим стандарт Sun Microsystems для компонент (залежній від мови реалізації), мова програмування C# має досить багато спільного з мовою Java, та немало рис мова програмування C# успадкувала і від свого попередника, створеного корпорацією Microsoft, мови Visual Basic.

Мова програмування C# заснована на строгій компонентній архітектурі і реалізує передові механізми забезпечення безпеки коду.

Найбільш характерні риси схожості мов програмування C# і Java. Перш за все, це те, що дані мови відносяться до категорії об'єктно-орієнтованих і передбачають єдиність успадкування, механізми реалізації інтерфейсів, обробки виняткових ситуацій, збірку сміття. Простору імен реалізовано в цих мовах схожим чином. Обидві мови програмування характеризуються сильною типізацією і динамічним завантаженням коду при виконанні програми.

Від свого прямого попередника, мови програмування C++, мова C# успадковала наступні механізми: «перевантаження» оператора, небезпечні арифметичні операції з плаваючою крапкою, а також ряд інших особливостей синтаксису.

Зазначемо список основних можливостей мови програмування C#:

  •  індексатори (Indexers);
  •  перевантажені оператори;
  •  оператор циклу для колекцій foreach;
  •  механізми boxing і unboxing;
  •  атрибути;
  •  прямокутні масиви;
  •  компонентно-орієнтоване програмування (властивості, події);
  •  уніфікована система типізації (UTS);
  •  делегати (Delegates).
  •  властивості як засіб інкапсуляції даних ;
  •  обробка подій та виняткових ситуацій;
  •  уніфікована система типізації ;

Не дивлячись на те, що цілий ряд конструктивних синтаксичних механізмів і особливостей реалізації успадкованих мовою програмування C# від C++, Visual Basic і Java, можливості цієї нової мови програмування не обмежуються.

У мові програмування C# реалізовано два основних напрямки у створенні посилальних типів і типів-значень. Відповідно до назв, змінна в разі використання типів-значень містить власне значення, а при використанні посилальних типів – не само значення, а лише посилання (покажчик) на нього. Місцем зберігання змінної, визначеної як тип-значення, є стек, а визначеною як посилальний тип – «купа», яка необхідна для динамічного виділення і звільнення пам'яті для зберігання змінної довільним чином.

Значенням, яким змінна ініціалізувалася за замовченням у разі визначення за допомогою типа-значення є 0 - для цілого або речового типа даних, false - для логічного типу даних, '\0' - для рядкових даних, а у разі визначення за допомогою посилального типа – значення порожнього посилання - null.

При виконанні оператора привласнення у разі змінної-значення копіюється значення, а у разі змінної-посилання – посилання.

Об'єкти мови можуть бути описані у просторі імен, класах, інтерфейсах, структурах, перерахуваннях, делегатах.

Мова програмування передбачає контекстні угоди, які передбачають неприпустимість двократного опису в межах даної області опису, довільну послідовність описів, виключення: локальних змінних, які необхідно описати до їх першого використання.

Мова програмування C# має наступні переваги:

  •  справжня об'єктна орієнтованість;
  •  компонентно-орієнтоване програмування;
  •  безпечний код;
  •  уніфікована система типізації;
  •  підтримка подієво-орієнтованого програмування;
  •  власна мова для створення застосувань в середі .NET;
  •  об'єднання кращих ідей сучасних мов;
  •  підтримка програмування: Java, C++, Visual Basic і ін.

Проаналізувавши основні особливості мови програмування C#, а також дослідивши структуру і принципи побудови програм на цій мові, сформулюємо найбільш помітні переваги даної мови програмування.

Перш за все, необхідно відзначити ту обставину, що мова програмування C# претендує на справжню об'єктну орієнтованість. Крім того, мова програмування C# реалізує компонентно-орієнтований підхід до програмування, який сприяє меншій машинно-архітектурній залежності результуючого програмного коду, більшої гнучкості, переносимості і легкості повторного використання фрагментів програм.

Принципово важливою відзнакою від попередників є початкова орієнтація на безпеку коду, що особливо помітно порівняно з мовами C і C++.

Уніфікована, максимально близька по масштабу і гнучкості до Common Type System, прийнятою в Microsoft .NET, система типізації є важливою перевагою мови C#.

Розширена підтримка подієво-орієнтованого програмування вигідно відрізняє мову програмування C# від інших мов. Мова програмування C# має «власну» середовище для створення застосувань в середовищі Microsoft .NET, оскільки найтісніше і ефективно інтегровано з нею.

Об'єднання кращих ідей сучасних мов програмування робить мову C# не просто сумою їх достоїнств, а мовою програмування нового покоління.

Не дивлячись на значну кількість принципових переваг в порівнянні з існуючими аналогами, мова програмування C# не позбавлена і окремих недоліків, які, мабуть, носять суб'єктивний, локальний, тимчасовий характер.

Перш за все, необхідно відзначити ту обставину, що мову програмування C# має досить складний синтаксис. Об'єм дійсних концептуальних ідей в мові C# відносно невисокий.

Але не зважаючи на зазначені недоліки мова програмування набуває найбільшого поширення і набуває більшої підтримки серед розробників інструментальних засобів. Тому для реалізації дипломного проекту була обрана саме мова програмування C#.

3.2 Опис програмного забезпечення

Програмне забезпечення «ЗЛП(Симплекс метод(1))», було розроблено в результаті виконання курсового проекту «Розробка програмного забезпечення автоматизованого дослідження операції оптимального планування асортименту продукції верстатобудівельного заводу на основі методу поступового покращення плану (перший алгоритм). Для розв’язання задачі лінійного програмування програмі «ЗЛП(Симплекс метод(1))» необхідно вказати початкові данні (ввести вручу або завантажити із файлу), а саме: кількість змінних та обмежень задачі, яка буде вирішуватися, коефіцієнтів при змінних цільової функції та матриці умов.

Програма «ЗЛП(Симплекс метод(1))» має дружній, інтуїтивно зрозумілий інтерфейс, що дозволяє користувачеві ефективно використовувати цей засіб не маючи спеціальних навичок. Основні функції програми відображені в діаграмі USE CASE (див. Додаток A, рис. A.1).

При виникненні специфічних ситуацій під час роботи програми, наприклад помилки введення даних, користувачеві буде про це проінформовано за допомогою інформаційних вікон. Після вирішення задачі лінійного програмування, програма створює графік цільової функції, перевіряє отримане рішення на достовірність, та надає користувачеві можливість визначити область стійкості рішення при зміненні компонент вектору обмежень.

3.3 Визначення варіантів використання

Користувачем системи є особа, що прагне розв’язати проблему оптимізації автоматично. Система надає користувачеві такі можливості:

  1.  Введення даних вручну.
  2.  Читання даних з txt-файлу.
  3.  Збереження задачі до txt-файлу.
  4.  Розв’язання задачі:
    •  приведення задачі до канонічного виду;
    •  створення двоїстої задачі та її розв’язок;
    •  знаходження опорного плану та базису;
    •  перевірка плану на оптимальність, опорність;
    •  побудова графіку зміни оптимальної функції.
  5.  Збереження звіту про виконані дії.

В разі необхідності або виникнення проблем, користувач може скористатися підказкою, яка містить інформацію про програмне забезпечення, а також основні вказівки щодо його застосування.

Детально діаграму варіантів використання наведено на рисунку А.1 в додатку А.

3.4 Інсталювання програмного забезпечення

Мінімальні вимоги до характеристик апаратного забезпечення для коректної роботи застосування:

- CPU Pentium 1,4 Ghz;

- 240Mb оперативної пам’яті;

- 20Mb вільного місця на жорсткому диску;

- 2 Mb відеокарта;

- монітор з роздільною здатністю 800x600.

Програмне забезпечення повинно працювати в операційних системах Windows NT, Windows 2000, Windows XP , Windows Vista або більш нових версіях.

Перш ніж перейти до автоматизованого дослідження операції необхідно увімкнути комп’ютер, зайти в каталог, в якому розташований файл з курсовою роботою, і запустити .exe файл. Програмне забезпечення не вимагає інсталяції.

3.5 Контроль коректності роботи програмного забезпечення

Під час роботи програмного забезпечення та після її закінчення, користувач повинен мати деякі гарантії коректності роботи цього програмного забезпечення. Саме для цього під час розробки програмного забезпечення даного курсового проекту було встановлено необхідний контроль, який складається з наступних пунктів:

  •  Перерахунок першої ітерації за допомогою обчислень вручну та сопоставлення з результатами, які видавала програма на першій ітерації. Було звірено результати з точністю 10-6 та встановлено, що вони співпадають. (див. Додаток Г, табл. Г-1-Г-4)
  •  Перевірка достовірності рішення, отриманого за допомогою програми. Її реалізація є у самій програмі, а також достовірність рішення задачі бригадира було перевірено вручну. (див. Додаток Г)
  •  Інформування користувача про помилки, або специфічні ситуації за допомогою діалогових вікон. (див. 3.6 Інструкція користувачу)

3.6 Інструкція користувачу

Спочатку потрібно увімкнути ЕОМ, яка відповідає системним вимогам (див. пункт 3.4). Після чього потрібно запустити на виконання виконуваний файл MMDO.exe.

Потім на екрані з’явиться головне вікно програми «ЗЛП(Симплекс метод(1))», яке має вигляд, зображений на рис.3.1.

Рисунок 3.1 – Головне вікно

Для введення даних можна скористатися можливістю введення даних з попередньо створеного файлу за допомогою кнопки «Загрузить данные», розташованої у головному вікні, або ручного введення (рис. 3.2). Зразок файлу для завантаження знаходиться у тій самій директорії, що й виконуваний файл MMDO.exe та має назву TestOpen (розмірність задачі 25х12)

Рисунок 3.2 – Ручне введення

Для вирішення завдання необхідно скористатися наступною кнопкою «Решить», яка знаходиться у головному вікні.

Якщо під час роботи виникне і програма зупинне своє виконання, користувач буде сповіщений про це відповідними діалоговими вікнами.

Рисунок 3.3 – Помилка у розрахунках

При появі вікна зображеного на рисунку 3.3 програма припиняє своє виконання, що зумовлено алгоритмом розв’язання задачі (див. Додаток Б)

Також  під час роботи користувач може отримати повідомлення  про виникнення специфічної ситуціїї (див. Рисунок 3.4).

Рисунок 3.4. – Розв'язання задачі закінчено (ситуація 2).

Також можна відкрити перевірку на достовірність рішення, відкривши вкладку «Проверка Достоверности» головного вікна (рис. 3.3)

Рисунок 3.5 – Вкладка «Проверка Достоверности»

Для визначення області стійкості отриманого рішення потрібно відкрити вкладку «Проверка устойчивости» (рис 3.4)

Рисунок 3.6 – Вкладка «Проверка устойчивости»

Для того, щоб подивитися графік цільової функції потрібно відкрити вкладку «График целевой функции» (рис. 3.5)

Рисунок 3.7 – Вкладка «График целевой функции»

Для зручного перегляду симплекс таблиць потрібно скористатися кнопокю «Копировать таблицы в буфер», після чього потрібно відкрити програму Microsoft Office Excel, та натистути на клавіатурі комбінацію клавіш Ctrl+V.

Наприкінці роботи користувач може зберегти вихідні данні задачі у файл, скориставшись для цього кнопкою «Сохранить данные».

3.7 Результати отриманні при рішенні задачі курсового проекту про оптимальне планування продукції верстатобудівельного заводу

На основі програмного забезпечення «ЗЛП(Симплекс метод(1))» було проведено дослідження операції про оптимальне планування асортименту продукції верстатобудівельного заводу. Були отримані наступні результати:

L*= 2241632,379305

F*s= {A26,  A14,  A1,  A6,  A9,  A12,  A32,  A33,  A34,  A35,  A36,  A37}

X* =(234,597244; 0; 0; 0; 0; 454,523052; 0; 0; 128,863275; 0; 0; 170,144092; 0; 506,197562; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 0; 1005,674775; 0; 0; 0; 0; 0; 7583,615338; 12563,658346; 12658,295096; 13240; 42733,802438; 43240)

Y*=( 0; 159,214286; 5,738095; 1,068304; 1,13576; 0,484909; 0; 0; 0; 0;0;0)

де L*- оптимальне значення цільової функції прямої задачі, F*s – базис оптимального опорного плану, X*- оптимальний опорний план прямої задачі, Y*- оптимальний опорний план двоїстої задачі.

Можна дати економічну інтерпретацію отриманих результатів:

велосипедний завод повинен випускати наступну продукцію у наступній кількості для отримання максимального доходу у розмірі 2241632,3793 у.о.

“ЦКБ40-3 станок торцовочный” 506 шт.
“УСК-1 Установка стационарная круглопильная двухпильная”
235 шт.
“УЛП-1ДМ Установка ленточнопильная делительная” 455 шт.
HIROTA Станок ленточнопильный делительный” 129 шт.
“Ц2Д-У Станок двухпильный обрезной”
  170 шт.

3.8 Перевірка достовірності отриманого рішення

Програма «ЗЛП(Симплекс метод(1))» виконала перевірку отриманого рішення на достовірність за трьома пунктами:

  •  Перевірка опорності отриманого плану
    Полученный в ходе решения план является опорным. det AF*s= 195070512
  •  Перевірка на оптимальність отриманого плану
    L*~ = 2500*0 + 13250*159,214285714286 + 13240*5,73809523809524 + 32400*1,06830410123699 + 13240*1,13575970928912 + 13240*0,484909456740446 + 32400*0 + 13240*0 + 32400*0 + 13240*0 + 43240*0 + 43240*0 =2241632,37930498
    L*=L*~
    Решение оптимально.

Усі результати, отримані за допомогою програми «ЗЛП(Симплекс метод(1))»  було перевірено за допомогою їх перерахунку вручну (задача бригадира).

3.9 Встановлення області стійкості отриманого рішення

У задачі до курсового проекту було потрібно вказати область змінювань дельта b3 та дельта b11 компонент вектору обмежень, при яких отриманий опорний план зберігає властивість оптимальності.

За допомогою програми «ЗЛП(Симплекс метод(1))» було отримано наступний результат:

в аналітичній формі запису:

-0,0238095238095238vb3 + 0vb11 >= -1005,67477466815

-0,00183150183150183vb3 + 0vb11 >= -506,197561628382

0,0256410256410256vb3 + 0vb11 >= -234,597244303127

0vb3 + 0vb11 >= -454,523052464229

0vb3 + 0vb11 >= -128,863275039746

0vb3 + 0vb11 >= -170,14409189637

0,0842490842490842vb3 + 0vb11 >= -7583,61533802711

0,00183150183150183vb3 + 0vb11 >= -12563,6583464752

0,0714285714285714vb3 + 0vb11 >= -12658,2950964931

0vb3 + 0vb11 >= -13240

0,00183150183150183vb3 + 1vb11 >= -42733,8024383716

0vb3 + 0vb11 >= -43240

vb3 >= -13240

vb11 >= -43240

Також було отримано графік області стійкості (рис 3.6, 3.7)

Рисунок 3.6 - Загальний  вигляд області стійкості

Рисунок 3.7 - Вигляд області стійкості зі збільшенням

3.10 Алгоритмічне забезпечення

Під час розробки програмного продукту були створенні наступні діаграмми, що відображають основні пункти меню програмного продукту.

  •  Алгоритм введення та корегування даних

Рисунок 3.8 – Алгоритм введення та корегування даних

  •  Алгоритм знаходження рішення задачі

Рисунок 3. – Алгоритм знаходження рішення задачі

  •  Алгоритм перевірки достовірності

Рисунок 3.9 – Алгоритм перевірки достовірності

  •  Алгоритм встановлення області стійкості

Рисунок 3.10 – Алгоритм встановлення області стійкості


Висновки

В результаті виконання даного курсового проекту було розроблено програмне забезпечення автоматизованого дослідження операцій, що задані задачею лінійного програмування. Програмне  забезпечення  сконструйовано за допомогою мови моделювання UML і розроблено  на  мові програмування С# в  середовищі Microsoft Visual Studio 2005. Це дозволило значно спростити процес проектування програмного забезпечення і особливо інтерфейсу користувача. За допомогою даного програмного забезпечення було проведено дослідження операції про оптимальне планування асортименту продукції верстатобудівельного заводу. Одержаним результатам була дана фізична інтерпретація і дані рекомендації по проведенню операції. Одержане рішення було досліджено на достовірність, також була побудована область стійкості одержаних результатів при обуренні компонент вектора обмежень (дельта b3, дельта b11). Упровадження результатів роботи сприяє раціональному використовуванню активних засобів верстатобудівельного заводу.

За допомогою розробленного программного забезпечення дослідник (користувач) зможе дослідити значно більше операрацій, що задані задачами лінійного програмування, що дає йому змогу обрати найбільш оптимальний результат в короткий термін.


СПИСОК ДЖЕРЕЛ ІНФОРМАЦІЇ

1. Лисицький В. Л., Автоматизація операційних досліджень на базі персональних ЕОМ/ В.Л. Лисицький. – Харків: НТУ «ХПІ», 1999.- 103 с.. 

2. Зайченко Ю. П., Дослідження операцій/ Ю. П. Зайченко. - Київ: "Вища школа", 1988.- 203 с. .

3. Юдін Д. Б., Гольштейн Є. Г., Лінійне програмування./ Д.Б. Юдін.- Київ: «Радянське радіо», 1961.-494 с. .

4. Герберт Шілдт. Самовчитель C + +/Герберт Шілдт.-Петербург : «БХВ-Петербург», 2003. -512 с..

5. Архангельський А.Я. Розробка прикладних програм для Windows в C + + Builder6.0/ Архангельський А.Я..- Москва: ЗАТ "Видавництво БИНОМ", 2000. – 430 с..

6. Кремер Н.Ш. Використання операцій в економіці/ Кремер Н.Ш..- Москва: Видавниче об'єднання «Юніті», 1997.- 335 с..


ДОДАТОК А

Рисунок А.1 - Діаграма варіантів використання

ДОДАТОК Б

Рисунок Б.1 -  Алгоритм розв’язання задачі лінійного програмування методом послідовного покращення плану(алгоритм перший) із застосуванням методу одиничного базису в матриці умов задачі для визначення початкового опорного плану

ДОДАТОК В

Таблиця В.1 - Специфікація змінних

Фізичний зміст

Позначення на схемі

Позначення у программі

Вихідний базис

double[] CS

Матриця коефіцієнтів

double[,] aDostBegin

Вектора умов

a[i,j]

i=1,a.GetLength(1)-1

Вектор обмежень

a[i,0]

Обмеження

a[i,0]

Вектор коефіцієнтів цільової функції задачі при вихідних змінних

double[] cVektor= new double[a.GetLength(0)+ a.GetLength(0)]

Вектор коефіцієнтів цільової функції вихідного завдання

double[] cVektor

Кількість змінних

int columnSet

Кількість обмежень

int rowSet

Вектор параметрів

j

double[] deltaVektor

Коефіцієнти розкладання

xij

a[i,j]

Оптимальний план вихідної задачі

a[i,0]

Оптимальний базис вихідної задачі

double[] CS

Проміжний параметр

Ωj

a[k, j]

Номер напрямного рядка

int  indexOfMinRow

Параметр

int[] CSindex

Базисні компоненти опорного плану

xi0

a[i,0]

i=0, a.GetLength(0)-1

Розширенна матриця умов

double[,] a

Параметр

Z0

a[a.GetLength(0)-1,0]

Напрямний елемент початкової таблиці

a[indexOfMinRow,indexOfMinColumn]

Параметр

Θ0

double[] Teta

Поточне значення цільової функції

L

deltaVektor[0],

a[a.GetLength(0)-1,0]

Оптимальне значення цільової функції

L*

double maxDelta

Номер напрямного стовпця

int indexOfMinColumn

Напрямний стовпець

a[i, indexOfMinColumn]

Зворотна матриця базисних компонентів

double[,] e

Лічильники

int i,j

Поточний план

a[i,0]

i=0, a.GetLength(0)-1

Новий опорний план

b[i,0]

i=0, a.GetLength(0)-1

Елементи нової матриці

b[i,j]


ДОДАТОК Г

Таблиця Г.1 - Нульова ітерація, машинний розрахунок

1800

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

17100

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

0

1

0

0

0

0

0

0

0

0

0

0

11720

3

17

4

26

5

45

7

43

1

0

0

0

0

0

0

0

0

1

0

0

1

0

0

0

0

0

0

0

0

0

17200

0

13

4

5

7

1

17

26

43

0

0

0

0

0

0

0

45

1

0

0

0

1

0

0

0

0

0

0

0

0

11720

0

0

1

3

4

5

7

17

26

43

0

0

0

0

0

1

0

45

0

0

0

0

1

0

0

0

0

0

0

0

17200

0

14

0

0

5

3

7

17

26

43

45

1

0

0

0

0

0

1

0

0

0

0

0

1

0

0

0

0

0

0

17200

0

0

0

0

1

7

3

5

4

17

26

43

45

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

17200

0

0

0

0

0

45

43

26

17

7

4

3

5

1

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

17200

0

17

0

0

0

0

0

45

43

26

17

3

7

4

5

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

11720

0

0

0

0

0

0

0

1

1

45

43

26

17

7

3

5

4

0

0

0

0

0

0

0

0

0

0

1

0

0

111720

0

0

0

0

0

0

0

0

3

4

5

7

17

26

43

1

1

45

0

0

0

0

0

0

0

0

0

0

1

0

11720

0

0

1

3

4

7

5

17

26

45

1

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

1

0

-436

-730

-1024

-1318

-1612

-1906

-2200

-2494

-2788

-3082

-3376

-3670

-3964

-4258

-4552

-4846

-5140

-5434

0

0

0

0

0

0

0

0

0

0

0

0

Min Delta -5434   Min Teta 260,444444444444

A23 <--Fs

A18 -->F's

Таблиця Г.2 - Перша  ітерація, машинний розрахунок

1539,556

1

1

0,977778

0,933333

0,911111

0,888889

0,844444

0,622222

0,422222

0,044444

1

1

1

1

1

0,977778

1

0

1

0

0

0

-0,02222

0

0

0

0

0

0

0

12412

1

2

2,6

2,8

3,4

4

4,2

1,2

-1,4

-7,2

11

12

13

14

15

15,6

17

0

0

1

0

0

-0,4

0

0

0

0

0

0

0

11459,56

3

17

3,977778

25,93333

4,911111

44,88889

6,844444

42,62222

0,422222

-0,95556

0

0

0

0

0

-0,02222

0

0

0

0

1

0

-0,02222

0

0

0

0

0

0

0

16939,56

0

13

3,977778

4,933333

6,911111

0,888889

16,84444

25,62222

42,42222

-0,95556

0

0

0

0

0

-0,02222

45

0

0

0

0

1

-0,02222

0

0

0

0

0

0

0

260,4444

0

0

0,022222

0,066667

0,088889

0,111111

0,155556

0,377778

0,577778

0,955556

0

0

0

0

0

0,022222

0

1

0

0

0

0

0,022222

0

0

0

0

0

0

0

16939,56

0

14

-0,02222

-0,06667

4,911111

2,888889

6,844444

16,62222

25,42222

42,04444

45

1

0

0

0

-0,02222

0

0

0

0

0

0

-0,02222

1

0

0

0

0

0

0

17200

0

0

0

0

1

7

3

5

4

17

26

43

45

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

17200

0

0

0

0

0

45

43

26

17

7

4

3

5

1

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

17200

0

17

0

0

0

0

0

45

43

26

17

3

7

4

5

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

11720

0

0

0

0

0

0

0

1

1

45

43

26

17

7

3

5

4

0

0

0

0

0

0

0

0

0

0

1

0

0

100000

0

0

-1

-3

-4

-5

-7

-17

-23

-39

5

7

17

26

43

0

1

0

0

0

0

0

-1

0

0

0

0

0

1

0

11459,56

0

0

0,977778

2,933333

3,911111

6,888889

4,844444

16,62222

25,42222

44,04444

1

0

0

0

0

-0,02222

0

0

0

0

0

0

-0,02222

0

0

0

0

0

0

1

1415255

-436

-730

-903,244

-955,733

-1128,98

-1302,22

-1354,71

-441,156

351,6444

2110,489

-3376

-3670

-3964

-4258

-4552

-4725,24

-5140

0

0

0

0

0

120,7556

0

0

0

0

0

0

0

1415255

-436

-730

-903,244

-955,733

-1128,98

-1302,22

-1354,71

-441,156

351,6444

2110,489

-3376

-3670

-3964

-4258

-4552

-4725,24

-5140

0

0

0

0

0

120,7556

0

0

0

0

0

0

0

Min Delta -5140   Min Teta 376,434567901235

A22 <--Fs

A17 -->F's

Таблиця Г.3 - Нульова  ітерація, розрахунок вручну. Закінчення на стор.56

C

436

730

1024

1318

1612

1906

2200

2494

2788

3082

3376

3670

3964

4258

4552

Cs

Fs

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

A13

A14

A15

1

0

A19

1800

1

1

1

1

1

1

1

1

1

1

1

1

1

1

1

2

0

A20

17100

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

3

0

A21

11720

3

17

4

26

5

45

7

43

1

0

0

0

0

0

0

4

0

A22

17200

0

13

4

5

7

1

17

26

43

0

0

0

0

0

0

5

0

A23

11720

0

0

1

3

4

5

7

17

26

43

0

0

0

0

0

6

0

A24

17200

0

14

0

0

5

3

7

17

26

43

45

1

0

0

0

7

0

A25

11720

0

0

0

0

1

7

3

5

4

17

26

43

45

1

1

8

0

A26

17200

0

0

0

0

0

45

43

26

17

7

4

3

5

1

1

9

0

A27

17200

0

17

0

0

0

0

0

45

43

26

17

3

7

4

5

10

0

A28

11720

0

0

0

0

0

0

0

1

1

45

43

26

17

7

3

11

0

A29

111720

0

0

0

0

0

0

0

0

3

4

5

7

17

26

43

12

0

A30

11720

0

0

1

3

4

7

5

17

26

45

1

0

0

0

0

0

-436

-730

-1024

-1318

-1612

-1906

-2200

-2494

-2788

-3082

-3376

-3670

-3964

-4258

-4552

Габлиця Г.3

4846

5140

5434

0

A16

A17

A18

A19

A20

A21

A22

A23

A24

A25

A26

A27

A28

A29

A30

Θ0

1

1

1

1

0

0

0

0

0

0

0

0

0

0

0

1800

16

17

18

0

1

0

0

0

0

0

0

0

0

0

0

950

0

0

1

0

0

1

0

0

0

0

0

0

0

0

0

11720

0

45

1

0

0

0

1

0

0

0

0

0

0

0

0

17200

1

0

45

0

0

0

0

1

0

0

0

0

0

0

0

260,(4)

0

0

1

0

0

0

0

0

1

0

0

0

0

0

0

17200

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

5

4

0

0

0

0

0

0

0

0

0

0

1

0

0

1

1

45

0

0

0

0

0

0

0

0

0

0

1

0

2482,(6)

0

0

1

0

0

0

0

0

0

0

0

0

0

0

0

11720

-4846

-5140

-5434

0

0

0

0

0

0

0

0

0

0

Таблиця Г.4 - Перша  ітерація, розрахунок вручну. Закінчення на стор. 58

 

 

 

C

436

730

1024

1318

1612

1906

2200

2494

2788

3082

3376

3670

3964

4258

4552

Cs

Fs

A0

A1

A2

A3

A4

A5

A6

A7

A8

A9

A10

A11

A12

A13

A14

A15

1

0

A19

1539,(5)6

1

1

0,9(7)8

0,9(3)

0,9(1)

0,(8)9

0,8(4)

0,6(2)

0,4(2)

0,0(4)

1

1

1

1

1

2

0

A20

12412

1

2

2,6(0)

2,8(0)

3,4(0)

4,(0)

4,2(0)

1,2(0)

-1,4(0)

-7,2(0)

11,(0)

12,(0)

13,(0)

14,(0)

15,(0)

3

0

A21

11459,(5)6

3

17

3,9(7)8

25,9(3)

4,9(1)

44,(8)9

16,8(4)

25,6(2)

42,4(2)

-0,9(5)6

0

0

0

0

0

4

0

A22

16939,(5)6

0

13

3,9(7)8

4,9(3)

6,9(1)

0,(8)9

16,8(4)

25,6(2)

42,4(2)

-0,9(5)6

0

0

0

0

0

5

5434

A18

260,(4)

0

0

0,0(2)

0,0(6)7

0,0(8)9

0,(1)

0,1(5)6

0,3(7)8

0,5(7)8

-0,9(5)6

0

0

0

0

0

6

0

A24

16939,5(6)

0

14

-0,0(2)

-0,0(6)7

4,9(1)

2,(8)9

6,8(4)

16,6(2)

42,0(4)

45

1

0

0

0

0

7

0

A25

11720

0

0

0

0

1

7

3

5

4

17

26

43

45

1

0

8

0

A26

17200

0

0

0

0

0

45

43

26

17

7

4

3

5

1

1

9

0

A27

17200

0

17

0

0

0

0

0

45

43

46

17

3

7

4

5

10

0

A28

11720

0

0

0

0

0

0

0

1

1

45

43

26

17

7

3

11

0

A29

 

0

0

-1

-3

-4

-5

-7

-17

-23

-39

5

7

17

26

43

12

0

A30

11459,(5)6

0

0

,9(7)8

2,9(3)

3,9(1)

6,(8)9

4,8(4)

16,6(2)

25,4(2)

44,0(4)

1

0

0

0

0

 

 

 

1415255,(1)

-436

-730

-903,2(4)

-955,7(3)

-1128,9(7)8

-1302,(2)

-1354,7(1)

-441,1(5)6

351,6(4)

2110,4(8)89

-3376

-3670

-3964

-4258

-4552

Таблиця Г.4

4846

5140

5434

0

0

0

0

0

0

0

0

0

0

0

0

 

A16

A17

A18

A19

A20

A21

A22

A23

A24

A25

A26

A27

A28

A29

A30

θ

0,9(7)8

1

0

1

0

0

0

-0,0(2)

0

0

0

0

0

0

0

15,39(5)6

15,6(0)

17,(0)

0

0

1

0

0

-0,4(0)

0

0

0

0

0

0

0

730,1176

-0,0(2)

0

0

0

0

1

 

-0,0(2)

0

0

0

0

0

0

0

 

-0,0(2)

45

0

0

0

0

-0,0(2)

0

0

0

0

0

0

0

0

376,4346

0,0(2)

0

1

0

0

0

0

0,0(2)

0

0

0

0

0

0

0

 

-0,0(2)

0

0

0

0

0

0

-0,0(2)

1

0

0

0

0

0

0

 

0

0

0

0

0

0

0

0

0

1

0

0

0

0

0

 

0

0

0

0

0

0

0

0

0

0

1

0

0

0

0

 

1

0

0

0

0

0

0

0

0

0

0

1

0

0

0

 

5

4

0

0

0

0

0

0

0

0

0

0

1

0

0

2930

0

1

0

0

0

0

0

-1

0

0

0

0

0

1

0

100000

-0,0(2)

0

0

0

0

0

0

-0,0(2)

0

0

0

0

0

0

1

 

-4725,2(4)

-5140

0

0

0

0

0

120,7(5)6

0

0

0

0

0

0

0

 


Сит. 3

Сит. 1

Сит. 2

Початок

Кінець

funkPlus.bildSimplexTable(funkPlus.buildX(funkPlus.matrix (funkPlus.bazis.length)));

funkPlus.analiz()

Вивести повідомлення «Задача не имеет решения»

Вивести рішення задачі

unkPlus.setBazis(funkPlus.findStroka(funkPlus.findStolbec()), funkPlus.findStolbec ());

funkPlus.reBildSimplexTable(funkPlus.findStroka(funkPlus.findStolbec()), funkPlus.findStolbec ());

Введення даних

Знаходження рішення

Приведення до канонічної форми

Отримання справки про програму

Рішення задачі

Перевірка стійкості

Завантаження з файлу

Перевірка рішення

Перевірка

достовірності

 

Збереження результатів

Збереження звіту

Збереження графіків

Інтерактивне введення


 

А также другие работы, которые могут Вас заинтересовать

83476. Поняття і види територій в міжнародному праві 35.51 KB
  За правовим режимом територія поділяється на три основні види: 1 державна територія; 2 міжнародна територія; 3 територія із змішаним режимом. Державна територія це частина простору земної кулі що знаходиться під суверенітетом держави яка здійснює відносно неї і в її межах своє територіальне верховенство. Територія із змішаним режимом територія на якій одночасно діють норми міжнародного та національного права. До територій зі змішаним режимом також відноситься державна територія міжнародного користування що включає міжнародні річки...
83477. Демілітаризовані і нейтралізовані території 36.41 KB
  Демілітаризована територія - це територія, відносно якої держава прийняли міжнародне зобовязання скоротити або взагалі не розташовувати в її межах військові укріплення і споруди, певні види озброєнь збройних сил. Такі території створюються на основі міжнародних угод з метою забезпечення міжнародної безпеки.
83478. Поняття та склад державної території 35.77 KB
  До складу державної території входять: сухопутна територія поверхня суші включаючи острови; водна територія акваторія що включає внутрішні води і територіальне море; земні надра; повітряний простір розташований над вищевказаними просторами. До внутрішніх вод відносяться: води портів; води заток бухт лиманів ширина входу в які не перевищує 24 морські милі; води заток бухт лиманів і проток ширина входу в які перевищує 24 морські милі але які історично належать даній державі; води річок озер і інших водоймищ що...
83479. Способи придбання території 37.79 KB
  Способи придбання державної території поділяються на первини і похідні. Сьогодні до первинних способів придбання державної території відноситься прирощення території який полягає у встановленні державою суверенітету над утворюваними новими ділянками суші поява яких повязана як з природними процесами наприклад землетрусом так і з діяльністю людини спрямованою на збільшення території держави наприклад намивання нових ділянок території в морі. Похідні способи полягають у переході території однієї держав до складу території іншої як на...
83480. Державні кордони 38.17 KB
  Міжнародне право зобовязує утримуватися від будьяких посягань на кордони інших держав від будьяких вимог або дій спрямованих на захоплення частини або всієї території будьякої держави. Кордони можуть змінюватися відповідно до міжнародного права мирним шляхом. Відомі також випадки коли традиційні кордони визнаються без договірного оформлення спираючись на норми звичаєвого права.
83481. Міжнародні річки 38.03 KB
  Міжнародні річки річки що протікають по території декількох держав або розділяють території декількох держав. Розрізняють власне міжнародні річки судноплавні річки що мають вихід до моря і використовуються для цілей інтенсивного торгового судноплавства; трансграничні багатонаціональні річки ті що протікають по території декількох держав і що не мають виходу до моря вони або несудноплавні або судноплавство по них носить місцевий характер; та прикордонні річки що розділяють території держав. Більш того прибережні держави спільно...
83482. Правовий режим Антарктики. Система договору про Антарктику 37.85 KB
  З метою визначення міжнародноправового режиму Антарктики 1 грудня 1959 р. Для сприяння реалізації цілей і принципів Договору створен; Консультативна рада що надає свої рекомендації національним урядам та готує проекти конвенцій щодо ресурсів Антарктики. Конвенція про збереження морських живих ресурсів Антарктики 1980 р.
83483. Режим Антарктики. Секторальний принцип розподілу арктичних просторів 38.21 KB
  Природні ресурси військовостратегічна безпека міжнародні сполучення ось причини уваги яка приділяється режиму Арктики. Правовий режим Арктики встановлюється міжнародним правом а також законами приарктичних держав. Простори Арктики історично поділені між Росією Канадою США Данією та Норвегією на п\'ять секторів.
83484. Концепція загальної спадщини людства 38.35 KB
  З часом вона стала концепцією загальної спадщини людства поширивши захист на інтереси не тільки нинішнього але і майбутніх поколінь. У позитивне міжнародне право концепція загальної спадщини була введена Договором про принципи діяльності держав по дослідженню і Використанню космічного простору включаючи Місяць і інші небесні тіла 1967 р. Вони отримали право на участь у встановленні режиму загальної спадщини і в його використанні за ними закріплене праві виходу до моря через територію прибережних держав.