Вирішення задач лінійного програмування
Використання графічного методу і симплекс-методу при вирішенні задач лінейного програмування. Сутність двоякого симплекс-методу і М-методу, приклади використання. Аналіз методу динамичного програмування. Специфіка вирішення матричної, антагоністичної гри.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 02.07.2011 |
Размер файла | 1,1 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
24
25
Задача 1. Вирішити графічним методом наступну задачу лінійного програмування:
Розв'язок
1. Знаходимо многокутник розв'язків. Для цього:
А) побудуємо прямі, рівняння яких дістанемо заміною в обмеженнях знаків нерівностей на знаки точних рівностей:
Б) знаходимо півплощини, що визначені кожним з обмежень задачі;
В) знаходимо многокутник розв'язків як перетин побудованих півплощин.
2. Знаходимо градієнт функції , тобто
І будуємо цей вектор.
3. Проводимо лінію рівня , нехай (вона перпендикулярна до вектора градієнта) і пересуваємо її в додатному напрямку цього вектора, внаслідок чого знаходимо точку, в якій цільова функція набуває максимального значення. Виходячи з області лінія рівня проходить через точку , яка і є точкою максимуму функції .
4. Визначаємо координати цієї точки , розв'язуючи систему рівнянь
Дістанемо
5. Підставляючи знайдені координати в цільову функцію , знаходимо її максимальне значення
Вирішити попередню задачу симплекс-методом:
Введемо додаткові змінні, щоб звести задачу до канонічного виду:
Отримали розширену задачу з опорним планом .
Система обмежень має найкращий вид, бо кожне рівняння - обмеження має в своєму складі змінну з одиничним коефіцієнтом, яка в усі інші рівняння входить з коефіцієнтом, рівним нулю. Це змінні . Вони і складатимуть базис. Заповнюємо симплекс-таблицю.
БП |
||||||||
4 |
3 |
0 |
0 |
0 |
||||
0 |
4 |
3 |
1 |
1 |
0 |
0 |
||
0 |
4 |
3 |
-2 |
0 |
1 |
0 |
||
0 |
5 |
-1 |
3 |
0 |
0 |
1 |
||
0 |
-4 |
-3 |
0 |
0 |
0 |
Для задачі максимізації умовою оптимальності опорного плану є невід'ємність оцінок. В даному випадку дві оцінки від'ємні. Найбільша з них за модулем відповідає змінній . Цей стовбець і буде розв'язуючим. Для визначення розв'язуючої строки знаходимо мінімальне симплексне відношення
Він відповідає першій строчці, яка і буде розв'язуючою.
Отже, елемент - розв'язуючий.
№ ітерації |
БП |
Симплексн відношення |
||||||||
4 |
3 |
0 |
0 |
0 |
||||||
0 |
0 |
4 |
3 |
1 |
1 |
0 |
0 |
4/3 |
||
0 |
4 |
3 |
-2 |
0 |
1 |
0 |
4/3 |
|||
0 |
5 |
-1 |
3 |
0 |
0 |
1 |
||||
0 |
-4 |
-3 |
0 |
0 |
0 |
|||||
1 |
0 |
1 |
0 |
0 |
4 |
|||||
3 |
0 |
0 |
-3 |
-1 |
1 |
0 |
||||
0 |
0 |
0 |
1 |
|||||||
0 |
0 |
0 |
||||||||
2 |
0 |
1 |
0 |
0 |
||||||
5 |
0 |
0 |
1 |
|||||||
3 |
0 |
1 |
0 |
|||||||
0 |
0 |
0 |
Отже оцінки невід'ємні, тому план , або , є оптимальним.
Максимальне значення функції
.
Задача 2. Вирішити наступну задачу лінійного програмування симплекс-методом. Для одержання базисного рішення використовувати М-метод.
Розв'язання
Дана система є системою з базисом, в якій базисні змінні, а вільні змінні, вільні члени всіх рівнянь невід'ємні. Отже, для розв'язання задачі можемо застосувати симплекс - метод. Запишемо початкову симплекс таблицю:
БП |
Розв'язок |
Відношення |
|||||||
-4 |
-3 |
0 |
0 |
0 |
0 |
0 |
- |
||
1 |
1 |
0 |
0 |
0 |
0 |
2 |
2/1=2 |
||
3 |
1 |
-1 |
1 |
1 |
0 |
3 |
3/3=1 |
||
1 |
2 |
0 |
0 |
0 |
1 |
8 |
8/1=8 |
||
Оцінка |
-3 |
-2 |
1 |
0 |
-1 |
0 |
1-а ітерація
БП |
Розв'язок |
Відношення |
|||||||
0 |
-1,67 |
-1,33 |
1,33 |
0 |
0 |
4 |
|||
0 |
0,67 |
0,33 |
-0,33 |
1 |
0 |
1 |
1,5 |
||
1 |
0,33 |
-0,33 |
0,33 |
0 |
0 |
1 |
3 |
||
0 |
1,67 |
0,33 |
-0,33 |
0 |
1 |
7 |
4,2 |
||
Оцінка |
0 |
-0,67 |
-0,33 |
0,33 |
-1 |
0 |
2-а ітерація
БП |
Розв'язок |
Відношення |
|||||||
0 |
0 |
-0,5 |
0,5 |
2,5 |
0 |
6,5 |
|||
0 |
1 |
0,5 |
-0,5 |
1,5 |
0 |
1,5 |
|||
1 |
0 |
-0,5 |
0,5 |
-0,5 |
0 |
0,5 |
|||
0 |
0 |
-0,5 |
0,5 |
-2,5 |
1 |
4,5 |
|||
Оцінка |
3-я ітерація
БП |
Розв'язок |
Відношення |
|||||||
0 |
1 |
0 |
0 |
4 |
0 |
8 |
|||
0 |
2 |
1 |
-1 |
3 |
0 |
3 |
|||
1 |
0 |
0 |
0 |
1 |
0 |
2 |
|||
0 |
0 |
1 |
0 |
-1 |
1 |
6 |
|||
Оцінка |
В - строчці всі коефіцієнти невід'ємні. Отже, оптимальний розв'язок:
Задача 3. Вирішити попередню задачу, використовуючи двоякий симплекс-метод.
Розв'язок
Помножимо друге рівняння системи обмежень на (-1), маємо
Складемо двояку задачу
Складемо симплекс-таблицю.
№ ітерації |
БП |
|||||||||
4 |
3 |
0 |
0 |
|||||||
0 |
4 |
2 |
1 |
1 |
0 |
0 |
||||
0 |
-3 |
-3 |
-1 |
1 |
0 |
|||||
0 |
8 |
1 |
2 |
0 |
1 |
|||||
8 |
0 |
1 |
0 |
0 |
||||||
1 |
4 |
2 |
0 |
0.67 |
0.33 |
0 |
||||
03 |
1 |
1 |
0.33 |
-0.33 |
0 |
|||||
0 |
8 |
0 |
1.67 |
0.33 |
1 |
|||||
Задача 4
Проаналізувати на чутливість рішення задачі 3.
Розв'язок.
Область допустимих розв'язків - відрізок .
Обмеження є зв'язаним.
Обмеження , є незв'язаними.
Визначимо границі допустимого діапазону зміни коефіцієнтів цільової функції:
.
Повний аналіз результату на чутливість подано у файлі 21092009.xls
Задача 5. Вирішити наступну транспортну задачу
Розв'язок
Для того, щоб транспортна задача мала розв'язок, необхідно і достатньо, щоб .
Рівність не виконується. Тому вводимо ще одне значення .
Тоді опорний план має вигляд
3 |
4 |
2 |
4 |
2 |
||
9 |
1 |
5 |
4 |
4 |
||
4 |
6 |
1 |
3 |
7 |
||
6 |
5 |
5 |
2 |
9 |
||
0 |
0 |
0 |
0 |
6 |
||
6 |
6 |
8 |
8 |
Опорний план по правилу найменшого елементу:
3 0 |
4 0 |
2 0 |
4 0 |
2 0 |
||
9 0 |
1 0 |
5 0 |
4 0 |
4 0 |
||
4 0 |
6 0 |
1 0 |
3 0 |
7 0 |
||
6 0 |
5 0 |
5 0 |
2 0 |
9 0 |
||
0 0 |
0 0 |
0 0 |
0 0 |
6 0 |
||
6 |
6 |
8 |
8 |
Введемо декотрі позначки: - надлишок від , - нестача .
Знаходимо незайняту клітинку з мінімальним тарифом: (5,4). Поміщаємо туди найменше з чисел и .
Знаходимо незайняту клітинку з мінімальним тарифом: (3,3). Поміщаємо туди найменше з чисел и .
Знаходимо незайняту клітинку з мінімальним тарифом: (2,2). Поміщаємо туди найменше з чисел и .
Знаходимо незайняту клітинку з мінімальним тарифом: (1,3). Поміщаємо туди найменше з чисел и .
Знаходимо незайняту клітинку з мінімальним тарифом: (1,1). Поміщаємо туди найменше з чисел и .
Знаходимо незайняту клітинку з мінімальним тарифом: (4,2). Поміщаємо туди найменше з чисел и .
Знаходимо незайняту клітинку з мінімальним тарифом: (4,1). Поміщаємо туди найменше з чисел и .
3 1 |
4 0 |
2 1 |
4 0 |
2 0 |
||
9 0 |
1 4 |
5 0 |
4 0 |
4 0 |
||
4 0 |
6 0 |
1 7 |
3 0 |
7 0 |
||
6 5 |
5 2 |
5 0 |
2 2 |
9 0 |
||
0 0 |
0 0 |
0 0 |
0 6 |
6 0 |
||
6 |
6 |
8 |
8 |
Транспортні витрати складатимуть:
.
Задача 6. Вирішити задачу на призначення
Розв'язок
5 |
4 |
7 |
2 |
0 |
|
6 |
5 |
3 |
9 |
0 |
|
3 |
5 |
8 |
5 |
0 |
|
2 |
4 |
3 |
0 |
||
5 |
5 |
4 |
1 |
0 |
Припускаємо, що .
1.
3 |
2 |
5 |
0 |
0 |
|
3 |
2 |
0 |
6 |
0 |
|
0 |
2 |
5 |
2 |
0 |
|
0 |
2 |
1 |
0 |
||
4 |
4 |
3 |
0 |
0 |
2.
3 |
0 |
5 |
0 |
0 |
|
3 |
0 |
0 |
6 |
0 |
|
0 |
0 |
5 |
2 |
0 |
|
0 |
0 |
1 |
0 |
||
4 |
2 |
3 |
0 |
0 |
3.
3 |
0 |
5 |
|
|
|
3 |
|
0 |
6 |
|
|
|
|
5 |
2 |
0 |
|
0 |
|
1 |
0 |
||
4 |
2 |
3 |
0 |
|
Мінімальним розв'язком даної задачі є:
5 |
4 |
7 |
2 |
0 |
|
6 |
5 |
3 |
9 |
0 |
|
3 |
5 |
8 |
5 |
0 |
|
2 |
4 |
3 |
0 |
||
5 |
5 |
4 |
1 |
0 |
4+3+0+2+1=10.
Задача 7. Вирішити наступну задачу методом динамічного програмування
Інвестору необхідно оптимальним шляхом розподілити капітал між підприємствами. В залежності від розміру капіталу, що вкладається, він одержує прибуток .
xi |
fi(x) |
||||
1 |
2 |
3 |
4 |
||
0 |
0 |
0 |
0 |
0 |
|
1 |
1 |
2 |
5 |
2 |
|
2 |
1 |
3 |
4 |
3 |
|
3 |
3 |
5 |
5 |
4 |
|
4 |
7 |
6 |
8 |
8 |
|
5 |
9 |
7 |
9 |
10 |
Розв'язок
- початковий стан.
Розв'язок на кожному кроці - розмір капіталу, який отримає підприємство ().
Критерій ефективності - прибуток, що отримує підприємство (). Загальний критерій ефективності - це загальний прибуток, тобто сума прибутків всіх підприємств: .
Цикл безумовної оптимізації
Шаг 4. Виділення коштів підприємству П4
0 |
0 |
0 |
|
1 |
1 |
2 |
|
2 |
2 |
3 |
|
3 |
3 |
4 |
|
4 |
4 |
8 |
|
5 |
5 |
10 |
Шаг 2. Виділення коштів підприємствам П3 і П4
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
0 |
1 |
2 |
2 |
0 |
5 |
|
1 |
5 |
0 |
0 |
5 |
||||
2 |
0 |
0 |
2 |
3 |
3 |
1 |
7 |
|
1 |
5 |
1 |
2 |
7 |
||||
2 |
4 |
0 |
0 |
4 |
||||
3 |
0 |
0 |
3 |
4 |
4 |
1 |
8 |
|
1 |
5 |
2 |
3 |
8 |
||||
2 |
4 |
1 |
2 |
6 |
||||
3 |
5 |
0 |
0 |
5 |
||||
4 |
0 |
0 |
4 |
8 |
8 |
1 |
9 |
|
1 |
5 |
3 |
4 |
9 |
||||
2 |
4 |
2 |
3 |
7 |
||||
3 |
5 |
1 |
2 |
7 |
||||
4 |
8 |
0 |
0 |
8 |
||||
5 |
0 |
0 |
5 |
10 |
10 |
1 |
13 |
|
1 |
5 |
4 |
8 |
13 |
||||
2 |
4 |
3 |
4 |
8 |
||||
3 |
5 |
2 |
3 |
8 |
||||
4 |
8 |
1 |
2 |
10 |
||||
5 |
9 |
0 |
0 |
9 |
Шаг 3. Виділення коштів підприємствам П2, П3 і П4
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
|
1 |
0 |
0 |
1 |
5 |
5 |
0 |
5 |
|
1 |
2 |
0 |
0 |
2 |
||||
2 |
0 |
0 |
2 |
7 |
7 |
0 |
7 |
|
1 |
2 |
1 |
5 |
7 |
||||
2 |
3 |
0 |
0 |
3 |
||||
3 |
0 |
0 |
3 |
8 |
8 |
2 |
9 |
|
1 |
2 |
2 |
7 |
9 |
||||
2 |
3 |
1 |
5 |
8 |
||||
3 |
5 |
0 |
0 |
5 |
||||
4 |
0 |
0 |
4 |
9 |
9 |
2 |
10 |
|
1 |
2 |
3 |
8 |
10 |
||||
2 |
3 |
2 |
7 |
10 |
||||
3 |
5 |
1 |
5 |
10 |
||||
4 |
6 |
0 |
0 |
6 |
||||
5 |
0 |
0 |
5 |
13 |
13 |
0 |
13 |
|
1 |
2 |
4 |
9 |
11 |
||||
2 |
3 |
3 |
8 |
11 |
||||
3 |
5 |
2 |
7 |
12 |
||||
4 |
6 |
1 |
5 |
11 |
||||
5 |
7 |
0 |
0 |
7 |
Шаг 4. Виділення коштів підприємствам П1, П2, П3 і П4
5 |
0 |
0 |
5 |
13 |
13 |
0 |
13 |
|
1 |
1 |
4 |
10 |
11 |
||||
2 |
1 |
3 |
9 |
10 |
||||
3 |
3 |
2 |
7 |
10 |
||||
4 |
7 |
1 |
5 |
12 |
||||
5 |
9 |
0 |
0 |
5 |
Цикл безумовної оптимізації
Для першого кроку отримано безумовний оптимальний розв'язок . Тоді (дивись таблицю кроку 2). З таблиці кроку 3 маємо . А отже, .
Таким чином, оптимальний розв'язок задачі: підприємствам П1 і П2 кошти зовсім не виділяються, підприємству П3 - виділяється 1 частина коштів, підприємству П4 - 4 частини. Загальний прибуток складатиме - 13 грошових одиниць.
Задача 8
Вирішити наступну антагоністичну гру
1 |
6 |
9 |
8 |
5 |
||
8 |
6 |
4 |
7 |
9 |
Розв'язок.
Нижня ціна ігри та верхня ціна гри не співпадають, тобто оптимального розв'язку в чистих стратегіях не існує.
Середній виграш першого гравця
Ці залежності показані на графіку
Активними стратегіями є перша та третя.
Розв'язуючи обидві задачі, маємо:
Оптимальна стратегія для гравця:
1 -
2 -
Задача 9
Вирішити наступну матричну гру:
7 |
-5 |
||
-7 |
6 |
||
5 |
3 |
||
8 |
-2 |
Розв'язок
Побудуємо прямі:
Побудуємо верхню криву, що огинає прямі. Її нижня точка М лежить строго між 0 та 1.
Примітка. Наразі ми вважаємо, що пряма лежить нижче кривої, що огинає прямі.
Далі,
Отже,
.
Тоді оптимальна стратегія гравця 1
.
Таким чином,
Задача 10
Вирішити методом Брауна-Робінсона наступну матричну гру (число ітерацій 15).
2 |
4 |
6 |
||
6 |
2 |
2 |
||
2 |
6 |
2 |
Розв'язок
Нехай гру починає гравець 2. Він вільно обирає одну зі своїх чистих стратегій. Допустимо, що він обрав свою першу стратегію, а гравець 2 відповідає своєю другою стратегією.
В стовбці знаходиться найбільший середній виграш гравця 1, який він отримає в першій партії, в стовбці стоїть найменший середній програш, який отримує гравець 2 в першій партії, в стовбці знаходиться середнє арифметичне , тобто приблизне значення ціни гри, яке буде отримане в першій партії (дивись таблицю).
Так як гравець 1 вибрав другу стратегію, то гравець 2 може програти:
6, якщо застосує свою першу стратегію;
2, якщо застосує свою другу стратегію;
2, якщо застосує свою третю стратегію.
Оскільки він бажає програти якомога менше, то у відповідь він застосує допустимо другу стратегію.
Тоді перший гравець отримає виграш 4, 2 або 6 відповідно своєї першої, другої або третьої стратегії, а його сумарний виграш за дві партії складатиме:
2+4=6 при його першій стратегії;
6+2=8 при його другій стратегії;
2+6=8 при його третій стратегії.
Найбільший сумарний виграш складає 8 при другій та третій стратегіях. Нехай в цій партії він обере другу стратегію.
При другій стратегії гравця 2 гравець 2 програє 2, 4, 6 відповідно першій, другій та третій стратегії, а сумарний програш за обидві партії складатиме:
6+2=8 при першій стратегії;
2+4=6 при другій стратегії;
2+6=8 при третій стратегії.
Всі отримані дані занесемо до таблиці. В стовбець ставиться найбільший сумарний виграш гравця 1 за дві партії, поділений на кількість партій, тобто , в стовбець ставиться найменший сумарний програш гравця 2, поділений на кількість партій, тобто , в стовбець ставиться середнє арифметичне цих значень, тобто .
В третій партії гравець 2 обирає свою другу стратегію, тому що найменшим сумарним програшем є 6.
Таким чином, продовжуючи процес далі, складемо таблицю розігрувань гри з 15 ітерацій (партій).
№ партії |
Стратегія другого гравця |
Виграш гравця 1 при його стратегіях |
Стратегія першого гравця |
Програш гравця 2 при його стратегіях |
||||||||
1 |
2 |
3 |
1 |
2 |
3 |
|||||||
1 |
1 |
2 |
6 |
2 |
2 |
6 |
2 |
2 |
6 |
2 |
4 |
|
2 |
2 |
6 |
8 |
8 |
2 |
8 |
6 |
8 |
4 |
3 |
||
3 |
2 |
10 |
10 |
14 |
3 |
10 |
12 |
10 |
||||
4 |
1 |
12 |
16 |
12 |
2 |
16 |
14 |
12 |
4 |
3 |
||
5 |
3 |
18 |
18 |
14 |
1 |
18 |
18 |
18 |
||||
6 |
2 |
22 |
20 |
20 |
1 |
20 |
22 |
24 |
||||
7 |
1 |
24 |
24 |
26 |
3 |
22 |
28 |
26 |
||||
8 |
1 |
26 |
30 |
28 |
2 |
28 |
30 |
28 |
||||
9 |
3 |
32 |
32 |
30 |
1 |
30 |
36 |
30 |
||||
10 |
1 |
34 |
38 |
32 |
2 |
36 |
38 |
32 |
||||
11 |
3 |
40 |
40 |
34 |
1 |
38 |
42 |
38 |
||||
12 |
1 |
42 |
46 |
36 |
2 |
44 |
44 |
40 |
||||
13 |
3 |
48 |
48 |
38 |
2 |
50 |
46 |
42 |
||||
14 |
3 |
54 |
50 |
40 |
1 |
52 |
50 |
48 |
||||
15 |
3 |
60 |
52 |
42 |
1 |
54 |
54 |
54 |
З таблиці видно, що в 15 програних партіях стратегії 1, 2, 3 для другого гравця зустрічаються відповідно 6, 3, 6 разів, отже, їх відносні частоти дорівнюють , , . Стратегії 1, 2, 3 для гравця 1 зустрічаються відповідно 6, 7, 2 рази, отже, їх відносні частоти дорівнюють , , . А приблизне значення гри дорівнює .
Таким чином, отримали приблизний розв'язок гри:
симплекс метод лінейне програмування
Размещено на Allbest
Подобные документы
Метод Якобі є узагальненням симплекса-методу лінійного програмування. Він використовується для дослідження чутливості оптимального значення функції до змін у правих частинах обмежень. Умови існування екстремумів функцій при відсутності обмежень.
курсовая работа [326,6 K], добавлен 09.01.2009Використання мови програмуванння Java при виконанні "задачі лінійного програмування": її лексична структура і типи даних. Методи розв’язання задачі. Особливості логічної структури програми, побудова її зручного інтерфейсу за допомогою симплекс методу.
курсовая работа [437,9 K], добавлен 24.01.2011Застосування симплекс-методу для розв’язання оптимізаційних задач лінійного програмування, що містять три змінні. Функції ітераційної обчислювальної процедури, що виконують приведення до зручного для розв’язання оптимального вигляду ЗЛП за кілька кроків.
курсовая работа [359,5 K], добавлен 18.09.2013Теоретичні основи та приклади економічних задач лінійного програмування. Розробка математичної моделі задачі (запис цільової функції і системи обмежень) і програмного забезпечення її вирішення за допомогою "Пошуку рішень" в Excel симплекс-методом.
курсовая работа [993,9 K], добавлен 10.12.2010Основні визначення дослідження операцій. Модель "затрати-випуск" В.В. Леонтьєва. Загальний вигляд задачі лінійного програмування. Розв'язання за допомогою симплекс-методу. Економічна інтерпретація основної та спряженої задач. Поліпшення плану перевезень.
учебное пособие [1,1 M], добавлен 27.12.2010Програма на мові програмування С++. Аналіз стану технологій програмування та обґрунтування теми. Розробка програми виконання завдання, методу вирішення задачі. Робота з файлами, обробка числової інформації і робота з графікою. Розробка програми меню.
курсовая работа [41,0 K], добавлен 17.02.2009Розгляд особливостей мови програмування С++: основні можливості, характеристика функцій. Аналіз файлів з вхідними даними. Використання похідних класів як ефективний засіб об’єктно-орієнтованого програмування. Способи роздруківки графічного вирішення.
курсовая работа [510,9 K], добавлен 14.03.2013Загальний вид двовимірного завдання лінійного програмування. Алгоритм рішення задач графічним методом. Максимізація (мінімізація) цільової функції. Послідовність рішення завдань лінійного програмування симплексом-методом. Принцип перетворення Гауса.
контрольная работа [149,8 K], добавлен 24.11.2010Системи автоматичного керування. Описання методу стикування розв'язків на основі теореми по n-інтервалів. Застосування методу динамічного програмування (рівняння Р. Белмана). Моделювання задачі синтезу та аналізу на електронній обчислювальній машині.
контрольная работа [632,5 K], добавлен 31.03.2014Лінійне програмування як один з найбільш популярних апаратів математичної теорії оптимального управління рішень. Опис існуючих методів розв’язку задач лінійного програмування. Завдання, основні принципи, алгоритми і головна мета лінійного програмування.
курсовая работа [363,8 K], добавлен 03.12.2009