Математичні моделі задач лінійного програмування

Побудова опорного плану систему нерівностей. Постановка задачі на максимум. Індексний рядок та негативні коефіцієнти. Задача лінійного програмування. Рішення задачі симплексним методом. Введення додаткових змінних. Оптимальний план двоїстої задачі.

Рубрика Экономико-математическое моделирование
Вид контрольная работа
Язык украинский
Дата добавления 28.03.2011
Размер файла 278,4 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Завдання 1

Цех випускає вали і втулки. На виробництво одного вала робочий витрачає 3 год., однієї втулки - 2 год. Від реалізації одного вала підприємство одержує прибуток 80 грн., а від реалізації однієї втулки - 60 грн. Цех має випустити не менше 100 валів і не менше 200 втулок. Скільки валів і скільки втулок має випустити цех, щоб одержати найбільший прибуток, якщо фонд робочого часу робітників становить 900 людино-годин?

Ресурс

Вироби

Фонд робочого часу

Вали

Втулки

Робітник, год. од.

3

2

900

Вартість, грн. од.

80

60

Розв'язок

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

? = 80х1+60х2.

Витрати ресурсів на виготовлення такої кількості виробів складають відповідно:

CI =3х1+2х2,

Оскільки запаси ресурсів обмежені, то повинні виконуватись нерівності:

3х1+2х2?900

Окрім того, валів потрібно виготовити не менше 100 штук, а втулок - 200 шт., тобто повинні виконуватись ще нерівності: х1? 100, х2? 200.

Таким чином, приходимо до математичної моделі:

Знайти х1, х2 такі, що функція ? = 80х1+60х2 досягає максимуму при системі обмежень:

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

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

3x1 + 2x2 + 1x3 + 0x4 + 0x5 + 0x6 + 0x7 = 900

1x1 + 0x2 + 0x3-1x4 + 0x5 + 1x6 + 0x7 = 100

0x1 + 1x2 + 0x3 + 0x4-1x5 + 0x6 + 1x7 = 200

Для постановки задачі на максимум цільову функцію запишемо так:

F(X) = 80 x1 +60 x2 - M x6 - M x7 => max

Отриманий базис називається штучним, а метод рішення називається методом штучного базису.

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

З метою формулювання задачі для вирішення її в табличній формі скористаємося виразами з системи рівнянь для штучних змінних:

x6 = 100-x1 +x4

x7 = 200-x2 +x5

які підставимо в цільову функцію:

F(X) = 80x1 + 60x2 - M(100-x1 +x4 ) - M(200-x2 +x5 ) => max

або

F(X) = (80+1M)x1 +(60+1M)x2 +(-1M)x4 +(-1M)x5 +(-300M) => max

Матриця коефіцієнтів A = a(ij) цієї системи рівнянь має вигляд:

3

2

1

0

0

0

0

1

0

0

-1

0

1

0

0

1

0

0

-1

0

1

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

Вирішимо систему рівнянь відносно базисних змінних:

x3 , x6 , x7

Вважаючи, що вільні змінні рівні 0, отримаємо перший опорний план:

X1 = (0,0,900,0,0,100,200)

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

Складаємо симплекс-таблицю:

План

Базис

В

x1

x2

x3

x4

x5

x6

x7

min

1

x3

900

3

2

1

0

0

0

0

300

x6

100

1

0

0

-1

0

1

0

100

x7

200

0

1

0

0

-1

0

1

0

Індексний рядок

F(X1)

-30000000

-100080

0

-100060

0

100000

0

0

0

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

План

Базис

В

x1

x2

x3

x4

x5

x6

x7

min

2

x3

600

0

2

2

0

3

-3

0

300

x1

100

1

0

0

0

-1

1

0

0

x7

200

0

1

1

0

0

0

1

200

Індексний рядок

F(X2)

-19992000

0

0

-100060

0

-80

100080

0

0

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

План

Базис

В

x1

x2

x3

x4

x5

x6

x7

min

3

x3

200

0

0

1

3

2

-3

-2

66,67

x1

100

1

0

0

-1

0

1

0

0

x2

200

0

1

0

0

-1

0

1

0

Індексний рядок

F(X3)

20000

0

0

0

-80

-60

100080

100060

0

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

План

Базис

В

x1

x2

x3

x4

x5

x6

x7

min

4

x4

66,67

0

0

0,33

1

0,67

-1

-0,67

100

x1

166,67

1

0

0,33

0

0,67

0

-0,67

250

x2

200

0

1

0

0

-1

0

1

0

Індексний рядок

F(X4)

25333,33

0

0

26,67

0

-6,67

100000

100006,67

0

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

План

Базис

В

x1

x2

x3

x4

x5

x6

x7

min

5

x5

100

0

0

0,5

1,5

1

-1,5

-1

100

x1

100

1

0

0

-1

0

1

0

250

x2

300

0

1

0,5

1,5

0

-1,5

0

0

Індексний рядок

F(X5)

26000

0

0

30

10

0

99990

100000

0

Оскільки всі оцінки >0, то знайдено оптимальний план, що забезпечує максимальний прибуток: х1=100, х2=300. Прибуток, при випуску продукції за цим планом, становить 26000 грн.

Завдання 2

Записати двоїсту задачу до поставленої задачі лінійного програмування. Розв'язати одну із задач симплексним методом і визначити оптимальний план іншої задачі. Оптимальні результати перевірити графічно.

Розв'язок

Розв'яжемо задачу лінійного програмування симплексним методом.

Визначимо мінімальне значення цільової функції F(X) = 3x1+x2 при наступних умовах-обмежень.

x1+2x2?6

-5x1+4x2?2

7x1+5x2?35

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

1x1 + 2x2 + 1x3 + 0x4 + 0x5 = 6

-5x1 + 4x2 + 0x3 + 1x4 + 0x5 = 2

7x1 + 5x2 + 0x3 + 0x4-1x5 = 35

Введемо штучні змінні x.

1x1 + 2x2 + 1x3 + 0x4 + 0x5 + 0x6 = 6

-5x1 + 4x2 + 0x3 + 1x4 + 0x5 + 0x6 = 2

7x1 + 5x2 + 0x3 + 0x4-1x5 + 1x6 = 35

Для постановки задачі на мінімум цільову функцію запишемо так:

F(X) = 3x1+x2 - Mx6 => max

Вважаючи, що вільні змінні рівні 0, отримаємо перший опорний план:

X1 = (0,0,6,2,0,35)

План

Базис

В

x1

x2

x3

x4

x5

х6

0

х3

6

1

2

1

0

0

0

x4

2

-5

4

0

1

0

0

х6

35

7

5

0

0

-1

1

Індексний рядок

F(X0)

0

0

0

0

0

0

0

Переходимо до основного алгоритму симплекс-методу.

План

Базис

В

x1

x2

x3

x4

x5

x6

min

1

х3

6

1

2

1

0

0

0

6

x4

2

-5

4

0

1

0

0

0

х6

35

7

5

0

0

-1

1

5

Індексний рядок

F(X1)

0

0

0

0

0

0

0

0

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

План

Базис

В

x1

x2

x3

x4

x5

x6

min

2

х3

1

0

1,29

1

0

0,1429

-0,1429

7

x4

27

0

7,57

0

1

-0,7143

0,7143

0

х1

5

1

0,7143

0

0

-0,1429

0,1429

0

Індексний рядок

F(X2)

0

0

0

0

0

0

0

0

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

План

Базис

В

x1

x2

x3

x4

x5

x6

3

х5

7

0

9

7

0

1

-1

x4

32

0

14

5

1

0

0

х1

6

1

2

1

0

0

0

Індексний рядок

F(X3)

0

0

0

0

0

0

0

Оптимальний план можна записати так:

x5 = 7

x4 = 32

x1 = 6

F(X) = 3*6 = 18

Складемо двоїсту задачу до поставленої задачі лінійного програмування.

y1+5y2+7y3?3

2y1-4y2+5y3?1

6y1-2y2+35y3 => min

y1 ? 0

y2 ? 0

y3 ? 0

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

Рішення двоїстої задачі дає оптимальну систему оцінок ресурсів. Використовуючи останню інтеграцію прямої задачі знайдемо, оптимальний план двоїстої задачі. Із теореми двоїстості слідує, що Y = C*A-1. Сформуємо матрицю A із компонентів векторів, які входять в оптимальний базис.

Визначивши обернену матрицю А-1 через алгебраїчне доповнення, отримаємо:

Як видно із останнього плану симплексної таблиці, обернена матриця A-1 розміщена у стовбцях додаткових змінних.

Тоді Y = C*A-1 =

Запишемо оптимальний план двоїстої задачі:

y1 = 3

y2 = 0

y3 = 0

Z(Y) = 6*3+-2*0+35*0 = 18

Завдання 3

Розв'язати транспортну задачу.

2

4

5

8

6

180

7

3

6

4

5

300

8

5

6

5

3

230

110

140

220

190

120

Розв'язок

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

У нашому випадку робиться це введенням фіктивного постачальника, оскільки

З уведенням фіктивного постачальника в транспортній таблиці додатково заявляється n робочих клітинок.

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

Занесемо вихідні дані у таблицю.

В1

В2

В3

В4

В5

Запаси

А1

2

4

5

8

6

180

А2

7

3

6

4

5

300

А3

8

5

6

5

3

230

А4

0

0

0

0

0

70

Потреби

110

140

220

190

120

Забезпечивши закритість розв'язуваної задачі, розпочинаємо будувати математичну модель даної задачі:

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

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

Загальні витрати, пов'язані з транспортуванням продукції, визначаються як сума добутків обсягів перевезеної продукції на вартості транспортування од. продукції до відповідного замовника і за умовою задачі мають бути мінімальними. Тому формально це можна записати так:

minZ=2x11+4x12+5x13+86x14+6x15+7x21+3x22+6x23+4x24+5x25+8x31+5x32+6x33+5x34+ +3x35+0x41+0x42+0x43+0x44+0x45.

Загалом математична модель сформульованої задачі має вигляд:

minZ=2x11+4x12+5x13+86x14+6x15+7x21+3x22+6x23+4x24+5x25+8x31+5x32+6x33+5x34+ +3x35+0x41+0x42+0x43+0x44+0x45.

за умов:

Запишемо умови задачі у вигляді транспортної таблиці та складемо її перший опорний план у цій таблиці методом «північно-західного кута».

Ai

Bj

ui

b1 = 110

b2 = 140

b3 = 220

b4=190

b5=120

а1 = 180

2

110

4

70

5

8

6

u1 = 0

а2 = 300

7

3

70

6

[-] 220

4

[+] 10

5

u2 = -1

а3 = 230

8

5

6

5

[-] 180

3

[+] 50

u3 = 0

а4 = 70

0

0

0

[+]

0

0

[-] 70

u4 = -3

vj

v1 = 2

v2 = 4

v3 = 7

v4 = 5

v5 = 3

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

Підрахуємо число зайнятих клітин таблиці, їх 8, а має бути m+n-1=8. Отже, опорний план є не виродженим.

Перевіримо оптимальність опорного плану. Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0

u1=0, u2=-1, u3=0, u4=-3, v1=2, v2=4, v3=7 v4=5, v5=3

Ці значення потенціалів першого опорного плану записуємо у транспортну таблицю.

Потім згідно з алгоритмом методу потенціалів перевіряємо виконання другої умови оптимальності ui + vj ? cij (для порожніх клітинок таблиці).

Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi > cij

(1;3): 0 + 7 > 5

(3;3): 0 + 7 > 6

(4;2): -3 + 4 > 0

(4;3): -3 + 7 > 0

(4;4): -3 + 5 > 0

Тому від нього необхідно перейти до другого плану, змінивши співвідношення заповнених і порожніх клітинок таблиці. Вибираємо максимальну оцінку вільної клітини (А4B3): 0. Для цього в перспективну клітку (4;3) поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.

Тепер необхідно перемістити продукцію в межах побудованого циклу.

З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (4;5) = 70.

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

Для цього у порожню клітинку А4B3 переносимо менше з чисел хij, які розміщені в клітинках зі знаком «-».

Одночасно це саме число хij додаємо до відповідних чисел, що розміщені в клітинках зі знаком «+», та віднімаємо від чисел, що розміщені в клітинках, позначених знаком «-».

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

Кількість заповнених клітинок у новій таблиці також має відповідати умові невиродженості плану, тобто дорівнювати (n + m - 1).

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

Ai

Bj

ui

b1 = 110

b2 = 140

b3 = 220

b4=190

b5=120

а1 = 180

2

110

4

[-] 70

5

[+]

8

6

u1 = 0

а2 = 300

7

3

[+] 70

6

[-] 150

4

80

5

u2 = -1

а3 = 230

8

5

6

5

110

3

120

u3 = 0

а4 = 70

0

0

0

70

0

0

u4 = -7

vj

v1 = 2

v2 = 4

v3 = 7

v4 = 5

v5 = 3

Перевіримо оптимальність опорного плану.Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.

Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi > cij

(1;3): 0 + 7 > 5

(3;3): 0 + 7 > 6

Вибираємо максимальну оцінку вільної клітини (А1B3): 5

Для цього в перспективну клітку (А1B3) поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-».

Цикл наведено в таблиці.

З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (А1B2) = 70.

Додаємо 70 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 70 з Хij, що стоять в мінусових клітинах.

В результаті отримаємо новий опорний план.

Ai

Bj

ui

b1 = 110

b2 = 140

b3 = 220

b4=190

b5=120

а1 = 180

2

110

4

5

70

8

6

u1 = 0

а2 = 300

7

3

140

6

[-] 80

4

[+] 80

5

u2 = 1

а3 = 230

8

5

6

[+]

5

[-] 110

3

120

u3 = 2

а4 = 70

0

0

0

70

0

0

u4 = -5

vj

v1 = 2

v2 = 2

v3 = 5

v4 = 3

v5 = 1

Перевіримо оптимальність опорного плану. Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.

Опорний план не є оптимальним, тому що існують оцінки вільних клітин для яких ui + vi > cij

(3;3): 2 + 5 > 6

Вибираємо максимальну оцінку вільної клітини (А3B3): 6

Для цього в перспективну клітку (А3B3) поставимо знак «+», а в інших вершинах багатокутника чергуються знаки «-», «+», «-». Цикл наведено в таблиці.

З вантажів хij що стоять в мінусових клітинах, вибираємо найменше, тобто у = min (А2B3) =80. Додаємо 80 до обсягів вантажів, що стоять в плюсових клітинах і віднімаємо 80 з Хij, що стоять в мінусових клітинах.

В результаті отримаємо новий опорний план.

Ai

Bj

ui

b1 = 110

b2 = 140

b3 = 220

b4=190

b5=120

а1 = 180

2

110

4

5

70

8

6

u1 = 0

а2 = 300

7

3

140

6

4

160

5

u2 = 0

а3 = 230

8

5

6

80

5

30

3

120

u3 = 1

а4 = 70

0

0

0

70

0

0

u4 = -5

vj

v1 = 2

v2 = 3

v3 = 5

v4 = 4

v5 = 2

Перевіримо оптимальність опорного плану, тобто повторюємо описані раніше дії.

Знайдемо потенціали ui, vi. по зайнятих клітинам таблиці, в яких ui + vi = cij, вважаючи, що u1 = 0.

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

Розрахуємо значення цільової функції відповідно до другого опорного плану задачі

F(x) = 2*110 + 5*70 + 3*140 + 4*160 + 6*80 + 5*30 + 3*120 + 0*70 = 2620

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

Завдання 4

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

.

Розв'язок

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

Межі області

Цільова функція F(x) => min

Розглянемо цільову функцію завдання F = 9X1+8X2 => min.

Побудуємо пряму, що відповідає значенню функції F = 0: F = 9X1+8X2 = 0. Будемо рухати цю пряму паралельним чином. Оскільки нас цікавить мінімальне рішення, тому рухався прямо до першого торкання позначеної області. На графіку ця пряма позначена пунктирною лінією.

Рівний масштаб

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

Пряма F(x) = const перетинає область у точці A. Оскільки точка A отримана в результаті перетину прямих 1 i 5, то її координати задовольняють рівнянням цих прямих:

x1+x2?1

x1=0

Вирішивши систему рівнянь, одержимо

x1 = 0, x2 = 1

Звідки знайдемо мінімальне значення цільової функції

F(X) = 9*0 + 8*1 = 8

Размещено на Allbest.ru


Подобные документы

  • Задачі лінійного програмування. Побудова першого опорного плану системи нерівностей. Введення додаткових змінних. Індексний рядок та негативні коефіцієнти. Побудова математичної моделі. Визначення потенціалів опорного плану. Область допустимих значень.

    контрольная работа [232,3 K], добавлен 28.03.2011

  • Побудування математичної моделі задачі. Розв'язання задачі за допомогою лінійного програмування та симплексним методом. Наявність негативних коефіцієнтів в індексному рядку. Основний алгоритм симплексного методу. Оптимальний план двоїстої задачі.

    контрольная работа [274,8 K], добавлен 28.03.2011

  • Максимальна негативна кількість та індексний рядок. Розв'язання задачі лінійного програмування симплексним методом. Побудова першого опорного плану системи нерівностей. Метод штучного базису та матриця коефіцієнтів. Основний алгоритм симплекс-методу.

    контрольная работа [302,8 K], добавлен 28.03.2011

  • Поняття задачі лінійного програмування та різні форми її задання. Загальна характеристика транспортної задачі, її математична модель. Графічний метод для визначення оптимального плану задач лінійного програмування. Правило побудови двоїстої задачі.

    контрольная работа [1,5 M], добавлен 04.09.2015

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

    контрольная работа [274,1 K], добавлен 28.03.2011

  • Математична модель задачі лінійного програмування та її розв’язок симплекс-методом. Опорний план математичної моделі транспортної задачі. Оптимальний план двоїстої задачі. Рішення графічним методом екстремумів функції в області, визначеній нерівностями.

    контрольная работа [290,0 K], добавлен 28.03.2011

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

    контрольная работа [239,0 K], добавлен 28.03.2011

  • Загальна модель задачі математичного програмування, задача лінійного програмування та особливості симплекс–методу для розв’язання задач лінійного програмування Економіко–математична модель конкретної задачі, алгоритм її вирішення за допомогою Exel.

    контрольная работа [109,7 K], добавлен 24.11.2010

  • Багатокритеріальність, існуючі методи розв’язку задач лінійного програмування. Симплекс метод в порівнянні з графічним. Вибір методу розв’язання багатокритеріальної задачі лінійного програмування. Вирішення задачі визначення максимального прибутку.

    курсовая работа [143,7 K], добавлен 15.12.2014

  • Приклади задач математичного програмування (на добір оптимальної суміші сплавів, складання оптимального раціону, транспортна, про оптимальний добір). Економічна модель задачі. Геометрична інтерпретація стандартної задачі, її розв’язання симплекс-методом.

    курсовая работа [8,3 M], добавлен 28.11.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.