Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Метод ЕІ м з 2013.doc
Скачиваний:
91
Добавлен:
20.02.2016
Размер:
4.13 Mб
Скачать

Зміст виконання завдання

1. Запис умов задачі за індивідуальним варіантом.

2. Формулювання економіко-математичної моделі задачі.

3. Розв'язок задачі графічним методом та за допомогою надбудови MS Excel ”Поиск решения” (додаток Б).

4. Висновки за результатами розв'язку задачі.

Завдання 2. Симплексний метод

Теоретична частина . Симплексний метод є універсальним методом розв'язування задач лінійного програмування, в основу алгоритму якого покладена ідея цілеспрямованого перегляду вершин n-мірного опуклого багатокутника допустимих розв’язків. Обстеження вершин багатокутника допустимих розв’язків можна почати після визначення будь-якої однієї з них, тобто спочатку потрібно отримати початковий опорний розв’язок задачі. Тому весь алгоритм симплексного методу поділяють на два етапи:

1) знаходження початкового опорного розв’язку (плану) задачі - задачу приводять до канонічної форми шляхом введення в кожне обмеження-нерівність по одній додатковій змінній (при обмеженнях виду менше або дорівнює (≤) із знаком "+", а при обмеженнях виду більше або дорівнює (≥) із знаком "-" ). Прийнявши в якості базисних невід’ємні додаткові змінні, отримуємо початковий опорний розв’язок задачі;

2) знаходження оптимального розв’язку (плану) задачі – виконується цілеспрямований перегляд базисних розв’язків, починаючи з опорного, так щоб забезпечувалося монотонне збільшення (для задач максимізації) або зменшення (для задач мінімізації) значення цільової функції. Для цього на кожній ітерації (етапі) розрахунків до базисного розв’язку вводиться одна невідома та відповідно одна невідома виводиться. Розрахунки виконуються в симплексних таблицях за методом виключень Жордана-Гаусса доти, поки не буде отримано оптимальний розв’язок.

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

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

2. Знаходження розвязуючого рядка симплексної таблиці (невідома цього рядка виводиться із базисного розв’язку) – для цього визначаємо найменшу частку від ділення значень базисних невідомих на додатні коефіцієнти розв'язуючого стовпчика і відповідний їй рядок вважаємо розв’язуючим.

3. Коефіцієнт, що знаходиться на перетині розв’язуючих стовпчика і рядка, називається розв’язуючим.

4.Перехід до нової симплексної таблиці здійснюється за такими правилами:

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

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

Умова оптимальності розв'язання задачі:

1. Для задач максимізації цільової функції розв'язок задачі буде оптимальним, якщо в рядку цільової функції Zmax всі коефіцієнти мають додатні значення або дорівнюють нулю.

2. Для задач мінімізації цільової функції розв'язок задачі буде оптимальним, якщо в рядку цільової функції Wmin всі коефіцієнти мають від'ємні значення або дорівнюють нулю.

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

Зауваження 1. Якщо розв'язуючий стовпчик має тільки від'ємні коефіцієнти і не можна знайти розв'язуючий рядок, то цільова функція не обмежена зверху (при знаходженні максимуму цільової функції) або знизу (при знаходженні мінімуму цільової функції) на множині допустимих розв'язків. Задача не має оптимального розв"язку. Треба змінити умови задачі.

Зауваження 2. Якщо при визначенні розв'язуючого стовпчика в Z - рядку коефіцієнти мають однакові значення, то вибирається один будь-який з них.

Зауваження 3. Якщо при визначенні розв'язуючого рядка є однакові симплексні відношення, то вибирається одне будь-яке з них.

Контрольні питання

1. Як формулюється загальна задача лінійного програмування ?

2. Дайте визначення допустимого, базисного, опорного та оптимального плану (розв'язку) задачі.

3. Як побудувати опорний план задачі лінійного програмування ?

4. Як визначаються розв’язуючі колонка та рядок при переході до нової симплексної таблиці ?

5. Як визначається розв’язуючий елемент при переході до нової симплексної таблиці ?

6. Як визначається змінна для введення її в неоптимальний базисний розв'язок ?

7. Як визначається змінна для виведення її із неоптимального базисного розв'язку ?

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

Приклад 2.1. В господарстві для вирощування кукурудзи на зерно та ячменю виділено 400 га ріллі, 18000 люд.- год. та 1800 ц мінеральних добрив. Вихід концентрованих кормів та затрати ресурсів (в розрахунку на 1 га) наведені нижче:

Показник

Кукурудза на зерно

Ячмінь

1. Затрати праці, люд.-год.

50

30

2. Внесення мінеральних добрив, ц

6

3

3. Вихід кормів, ц к. од

90

50

Знайти посівні площі зернофуражних культур для отримання максимальної кількості фуражного зерна.

Розв'язання. Для формулювання економіко-математичної моделі задачі введемо позначення:

х1 - площа кукурудзи на зерно, га

х2 - площа ячменю, га

Z - обсяг виробництва концентрованих кормів, ц к. од.

Тоді умови задачі в математичній формі можна записати так:

1. Умова використання ріллі: х1 + х2 ≤ 400

2. Умова використання трудових ресурсів: 50х1 + 30х2 ≤ 18000

3. Умова використання мінеральних добрив: 6х1 + 3х2 ≤ 1800

4. Умова невід"ємності змінних: х1 0,х2 0

Критерій оптимальності – виробництво максимальної кількості концентрованих кормів -

Zmax = 90х1 + 50х2

Запишемо задачу в канонічній формі, шляхом введення до лівої частини

кожної нерівності по одній невід'ємній додатковій змінній, які в умовах даної задачі мають такий економічний зміст:

S1 - кількість невикористаної площі ріллі, га;

S2 - кількість невикористаних трудових ресурсів, люд.-год.;

S3 - кількість невикористаних мінеральних добрив, ц.

В цільову функцію Zmax додаткові змінні вводяться з нульовою оцінкою.

Тоді, Zmax = 0 - ( - 90 х1 - 50 х2)

при обмеженнях: 1) х1 + х2 + S1 = 400; 2) 50 х1 + 30 х2+ S2 = 18000;

3) 6 х1 + 3 х2 + S3 = 1800; 4) х1 ≥ 0, х2 ≥ 0; S1 ≥ 0; S2 ≥ 0; S3 ≥ 0;

Прийнявши в якості базисних додаткові змінні, отримуємо допустимий базисний розв'язок задачі: х1 = х2 = 0; S1 = 400; S2 = 18000; S3 = 1800 та Zmax = 0.

Розв'язання задачі виконаємо в симплексних таблицях, записавши в першу симплексну таблицю 2.1 початковий допустимий базисний розв'язок.

Симплексна таблиця 2.1

Базисні змінні

Значення базисних змінних

х1

х2

S1

S2

S3

L

S1

400

1

1

1

0

0

400

S2

18000

50

30

0

1

0

360

S3

1800

6

3

0

0

1

300

max

0

-90

-50

0

0

0

В симплексній таблиці 2.1 небазисні змінні х1 та х2 в Z - рядку мають від'ємні коефіцієнти (відповідно -90 та -50), тому розв'язок задачі не оптимальний.

Небазисною змінною, яка буде введена в базис буде змінна х1 (-90). Для того, щоб в новий розв'язок ввести цю змінну потрібно з розв'язку вивести одну з базисних змінних (S1, S2 або S3). Для цього визначимо

min {400 / 1= 400; 18000 / 50 = 360 ; 1800 / 6 = 300 } = 300

Змінною, яка буде виведена із базисного розв'язку, буде та, для якої розраховане відношення буде мінімальним. В симплексній таблиці 2.1 мінімальне відношення (300) належить 3-му рядку, якому відповідає змінна S3. Розв'язуючий елемент дорівнює 6. Пошук нового базисного розв'язку виконаємо за допомогою методу виключень Жордана – Гауса:

1. 3-й рядок: (1800630 01) / 6 = ( 30010,5000,167)

2. Розрахунки коефіцієнтів всіх інших рівнянь (рядків), включаючи і Z-рядок, нової симплексної таблиці виконуються за схемою: відповідний рядок нової симплексної таблиці = відповідний рядок попередньої симплексної таблиці - (новий розв'язуючий рядок) (відповідний коефіцієнт розв'язуючого стовпчика попередньої симплексної таблиці):

1-й рядок

(400

1

1

1

0

0)-

-(300

1

0,5

0

0

0,167)1

= (100

0

0,5

1

0

-0,167)

2-й рядок

(18000

50

30

0

1

0 ) -

-(300

1

0,5

0

0

0,167)50

= (3000

0

5

0

1

- 8,333)

Z рядок

(0

-90

-50

0

0

0) -

-(300

1

0,5

0

0

0,167)(-90)

= (27000

0

-5

0

0

15)

Нова симплексна таблиця 2.2 має такий вигляд (зазначимо, що в базисний розв'язок замість змінної S3 введена змінна х1).

Симплексна таблиця 2.2

Базисні

змінні

Значення базисних змінних

х1

х2

s1

s2

s3

L

S1

100

0

0,5

1

0

-0,167

200

S2

3000

0

5

0

1

-8,333

600

Х1

300

1

0,5

0

0

0,167

600

Zmax

27000

0

-5

0

0

15

В симплексній таблиці 2.2 одержано новий базисний розв'язок: Zmax = 27000; Х1 = 300; Х2 = 0; S1 = 100; S2 = 3000; S3 = 0. В зв'язку з тим, що небазисна змінна х2 в Z-рядку має від'ємний коефіцієнт (-5), базисний розв'язок в симплексній таблиці

2.2 не оптимальний. Продовжимо розв'язання задачі. В симплексній таблиці 2.2 колонка х2 є розв'язуючою. Визначимо симплексні відношення:

min{100 / 0.5 = 200; 3000 / 5 = 600; 300 / 0,5 = 600} = 200

Мінімальне відношення (200) належить 1-му рядку, тому до нового базисного розв'язку замість S1 вводимо х2. Розв'язуючим елементом симплексної таблиці 2.2 буде 0,5. Пошук нового базисного розв'язку здійснюємо знову за допомогою обчислювальних операцій методу Жордана-Гаусса:

1 -й рядок - (10000,51 0- 0,167) / 0,5 = (2000120- 0,333)

2-й рядок

(3000

0

5

0

1

-8,333)-

- (200

0

1

2

0

-0,333)5

= (2000

0

0

-10

1

-6,667)

3-й рядок

(300

1

0.5

0

0

0,167) -

-(200

0

1

2

0

-0,3330,5

= (200

1

0

-1

0

0,333)

Z рядок

(27000

0

-5

0

0

15) -

-(200

0

1

2

0

-0,3330.5

= (28000

0

0

10

0

13,333)

Запишемо симплексну таблицю 2.3.

Симплексна таблиця 2.3

Базисні

змінні

Значення базисних змінних

Х1

Х2

S1

S2

S3

Х2

200

0

1

2

0

-0,333

S2

2000

0

0

-10

1

-6,667

Х1

200

1

0

-1

0

0,333

Zmax

28000

0

0

10

0

13,333

В симплексній таблиці 2.3 в Zmax-рядку відсутні від'ємні елементи, тому отриманий базисний розв'язок є оптимальним: Z = 28000; х1 = 200; х2 = 200;

S1 = 0;S2 = 2000; S3 = 0.

Висновки. Для виробництва максимальної кількості концентрованих кормів в обсязі 28000 ц к.од. (Zmax=28000) в господарстві потрібно вирощувати 200 га (х1=200) кукурудзи на зерно та 200 га (х2=200) ячменю. Площа ріллі та мінеральні добрива використовуються повністю (S1=0; S3=0), а невикористані трудові ресурси дорівнюють 2000 люд.-год. (S2=2000).

Задачі для самостійного розв'язання

Задача 2.1. Для вирощування озимої пшениці, кукурудзи на зерно та ячменю виділено 400 га ріллі, 24000 люд.-год.. трудових ресурсів та 1600 ц мінеральних добрив. Урожайність, затрати праці та мінеральних добрив (в розрахунку на 1 га) наведені в таблиці.

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

Сільськогосподар-

ська культура

Варіант *)

Затрати праці, люд.-год.

Внесення мінеральних добрив, ц

Урожайність, ц

Озима пшениця

Для всіх варіантів

40

5

50

Кукурудза на зерно

0

40

4

40

1

50

5

50

2

60

8

64

3

75

10

80

4

80

4

60

5

40

5

45

6

50

8

59

7

60

10

70

8

75

4

55

9

80

5

65

Ячмінь

0

20

2

28

1

24

2,5

31

2

25

4

36

3

30

2

33

4

32

2.5

35

5

20

4

33

6

24

2

30

7

25

2,5

32

8

30

4

38

9

32

2

34

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