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

Використання графічного методу і симплекс-методу при вирішенні задач лінейного програмування. Сутність двоякого симплекс-методу і М-методу, приклади використання. Аналіз методу динамичного програмування. Специфіка вирішення матричної, антагоністичної гри.

Рубрика Программирование, компьютеры и кибернетика
Вид контрольная работа
Язык украинский
Дата добавления 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

0

0

3

0

0

6

0

0

0

5

2

0

0

0

1

0

4

2

3

0

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

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