Xreferat.com » Рефераты по математике » Розв’язання лінійних задач методами лінійного програмування

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

МІНІСТЕРСТВО ОСВІТИ І НАУКИ УКРАЇНИ

Чернігівський державний технологічний університет

Кафедра вищої математики


Контрольна робота

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

Варіант 06


Чернігів 2009

Зміст


Завдання №1

Завдання №2

Завдання №3

Завдання №4

Завдання №5

Список використаних джерел


Завдання №1


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


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


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


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


еквівалентна рівнянню


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


а нерівність вигляду


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


еквівалентна рівнянню


Розв’язання лінійних задач методами лінійного програмування, в якому Розв’язання лінійних задач методами лінійного програмування

Враховуючи наведене вище дану задачу запишемо у наступній канонічній формі:


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


Завдання №2


Визначити оптимальний план задачі лінійного програмування графічним методом (знайти максимум і мінімум функції):


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


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


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


Потім знаходимо напівплощини, в яких виконуються задані нерівності (рисунок1).


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

Рисунок1– Графічне визначення максимального і мінімального значення функції


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


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


не співпадає з площиною, утвореною обмеженнями


Розв’язання лінійних задач методами лінійного програмуванняРозв’язання лінійних задач методами лінійного програмування.


Завдання №3


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

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


Для перетворення нерівностей в рівності вводимо змінні одиничні матриці х3, х4 і х5. Для розв’язку задачі симплексним методом необхідно мати три одиничних матриці при невід’ємних правих частинах рівнянь. Для отримання одиничної матриці в першій і третій нерівностях вводимо введемо штучні змінну х6 і х7 та отримаємо одиничні матриці А6 і А7. Де


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


В результаті наведених перетворень отримаємо наступну задачу:


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


У виразі функції величину М вважаємо достатньо великим додатнім числом, оскільки задача розв’язується на знаходження мінімального значення функції.

Запишемо задачу у векторній формі:


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

де


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


В якості базису вибираємо одиничні вектори А6, А4, А7. Вільні невідомі прирівнюємо нулю Розв’язання лінійних задач методами лінійного програмування. В результаті отримаємо початковий опорний план розширеної задачі


Розв’язання лінійних задач методами лінійного програмування,


якому відповідає розкладення


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


Для перевірки початкового опорного плану складаємо першу симплексну таблицю (таблиця1) і підраховуємо значення функції Розв’язання лінійних задач методами лінійного програмування і оцінок Розв’язання лінійних задач методами лінійного програмування Маємо:


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

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

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

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


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


Таблиця1– Перша симплексна таблиця

Базис С базису А0

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

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

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

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

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

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

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




х1 х2 х3 х4 х5 х6 х7
х6 М 8 1

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

-1 0 0 1 0
х4 0 20 3 4 0 1 0 0 0
х7 М 6 3 1 0 0 -1 0 1
F-C 0 -5 -2 0 0 0 0 0
М 14 4 4 -1 0 -1 0 0

В (М) рядку є додатні оцінки, тому опорний план Х0 не є оптимальним і його можна покращити, включивши в базис вектор, якому відповідає Розв’язання лінійних задач методами лінійного програмування. Оскільки у нас максимальне значення 4 належить двом векторам, то в базис включаємо вектор, якому відповідає мінімальне Сj. Розв’язувальним рядком вибирається той, в якому найменше відношення Розв’язання лінійних задач методами лінійного програмування Серед коефіцієнтів розкладання векторів А1 і А2 по базису є додатні, тому хоча б один з векторів існує.. Знайдемо ці значення:


Розв’язання лінійних задач методами лінійного програмуванняРозв’язання лінійних задач методами лінійного програмування; Розв’язання лінійних задач методами лінійного програмування Розв’язання лінійних задач методами лінійного програмування


Таким чином підтвердилося, що розв’язувальним стовпчиком буде другий, і визначилося, що розв’язувальним рядком буде перший. Тобто розв’язувальний елемент – число 3. Тоді вектор А2 включаємо в базис, а вектор А6 виключаємо з нього.

Складаємо другу симплексну таблицю (таблиця2). При цьому елементи першого (розв’язувального) рядка ділимо на 3. Елементи інших рядків визначаємо використовуючи формули повного виключення Йордана-Гауса.


Таблиця2– Друга симплексна таблиця

Базис С базису А0

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

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

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

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

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

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

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




х1 х2 х3 х4 х5 х6 х7
х2 2 2,67 0,33 1 -0,33 0 0 0,33 0
х4 0 9,33 1,67 0 1,33 1 0 -1,33 0
х7 М 3,33

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

0 0,33 0 -1 -0,33 1
F-C 5,33 -4,33 0 -0,67 0 0 0,67 0
М 3,33 2,67 0 0,33 0 -1 -1,33 0

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


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


тому розв’язувальним рядком є третій. Таким чином розв’язувальний елемент – число 2,67. Тоді вектор А1 включаємо в базис, а вектор А7 виключаємо з нього.

Складаємо другу симплексну таблицю (таблиця3). При цьому елементи третього (розв’язувального) рядка ділимо на 2,67. Елементи інших рядків визначаємо використовуючи формули повного виключення Йордана-Гауса.


Таблиця3– Третя симплексна таблиця

Базис С базису А0

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

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

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

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

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

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

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




х1 х2 х3 х4 х5 х6 х7
х2 2 2,25 0 1 -0,375 0 0,125 0,375 -0,125
х4 0 7,25 0 0 1,125 1 0,625 -1,125 -0,625
х1 5 1,25 1 0 0,125 0 -0,375 -0,125 0,375
F-C 10,75 0 0 -0,125 0 -1,625 0,125 1,625
М 0 0 0 0 0 0 -1 -1

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


(Розв’язання лінійних задач методами лінійного програмування)


є оптимальним. Функція при цьому


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


Перевірка


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


Кожній задачі лінійного програмування можна поставити у відповідність двоїсту задачу. Для цього першим кроком необхідно впорядкувати запис вихідної задачі. Оскільки у нас функція мінімізується, то всі умови-нерівності повинні бути вигляду Розв’язання лінійних задач методами лінійного програмування. Виконання цієї умови досягаємо множенням відповідних умов на (1-). В результаті система обмежень матиме наступний вигляд:


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


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

Складаємо матрицю при невідомих вихідної задачі:


Розв’язання лінійних задач методами лінійного програмування,

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


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


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

Враховуючи все наведене, двоїста задача матиме наступний вигляд:


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


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


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


Завдання №4


Визначити оптимальний план транспортної задачі:

а) побудувати початковий опорний план методом "північно-західного" напрямку;

б) побудувати оптимальний план методом потенціалів:


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


Нехай в матриці А міститься інформація про кількість продукту в кожному місці виробництва, який необхідно доставити споживачам в кількості записаній в матриці В. Транспортні витрати, пов’язані з перевезенням одиниці продукту із одного місця виробництва одному споживачеві, записані в матриці С. Задані матриці і сказане вище для спрощення сприйняття узагальнимо в таблиці4.


Таблиця4–Поставка продукту із різних місць виробництва різним споживачам і пов’язані з цим витрати

Виробник Споживач Запаси продукту

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

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

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

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


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

8 3 3 4 60

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

5 2 7 5 20

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

5 4 8 2 30

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

7 1 5 7 20
Потреба в продукті 40 30 30 15

130

115


З таблиці4 видно, що запаси продукту у виробника на складах на 15 одиниць більші ніж необхідно споживачу, тобто маємо транспортну задачу з відкритою моделлю. Для розв’язку такої задачі введемо фіктивного споживача, якому необхідно отримати Розв’язання лінійних задач методами лінійного програмування одиниць продукту. Всі тарифи на доставку продукту цьому споживачеві будемо вважати рівними нулю, і весь продукт потрібний цьому споживачеві залишаємо у місці виробництва. Для побудови початкового плану перевезень (таблиця5) використаємо метод "північно-західного" напрямку: заповнювати таблицю починаємо з лівого верхнього кута, рухаючись вниз по стовбцю або вправо по рядку (тарифи перевезень напишемо в правому верхньому куту кожної клітини, кількість продукту – в нижньому лівому). В першу клітину заносимо менше з чисел (min(40;60): 40. Тобто потреба в продукті першого споживача повністю задовільнено і інші клітини першого стовпця заповнювати не будемо. Рухаємося далі по першому рядку в другий стовпчик. В цю клітину записуємо менше з 30 і (60-40), тобто пишемо 20. Таким чином перший рядок заповнювати далі не будемо, оскільки запаси першого місця виробництва остаточно вичерпано: з нього ми повністю задовольняємо потребу у продукті першого споживача і частково (20 одиниць, а не 30) другого. Рухаємося по другому стовпчику на другий рядок. Сюди записуємо менше з (30-20) або 20: маємо 10, тобто другому споживачеві ми веземо 20одиниць продукту з першого місця виробництва і 10– з другого. Аналогічно заповнюємо інші клітини.


Таблиця5– Розподіл продукту по споживачам

Виробник Споживач Запаси продукту

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

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

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

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

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


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

8 3 3 4 0 60

40 20



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

Если Вам нужна помощь с академической работой (курсовая, контрольная, диплом, реферат и т.д.), обратитесь к нашим специалистам. Более 90000 специалистов готовы Вам помочь.
Бесплатные корректировки и доработки. Бесплатная оценка стоимости работы.

Поможем написать работу на аналогичную тему

Получить выполненную работу или консультацию специалиста по вашему учебному проекту
Нужна помощь в написании работы?
Мы - биржа профессиональных авторов (преподавателей и доцентов вузов). Пишем статьи РИНЦ, ВАК, Scopus. Помогаем в публикации. Правки вносим бесплатно.

Похожие рефераты: