Максимізація прибутку кондитерської фабрики
Реалізація програмного продукту для розв’язання економічної задачі, пов’язаної з максимізацією прибутку деякого підприємства. Розв’язання та перевірка симплекс-методу розв’язання задачі лінійного програмування. Формулювання алгоритму даного методу.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | украинский |
Дата добавления | 26.11.2013 |
Размер файла | 372,8 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru
Размещено на http://www.allbest.ru
ЗМІСТ
ВСТУП
РОЗДІЛ 1.ТЕОРЕТИЧНА ЧАСТИНА
1.1 Актуальність проблеми
1.2 Постановка задачі
1.3 Математична модель задачі
1.4 Формулювання алгоритму методу
РОЗДІЛ 2.ПРАКТИЧНА ЧАСТИНА
2.1Розвязок задачі сиплекс-методом
2.2 Аналіз результатів
ВИСНОВКИ
ПЕРЕЛІК ЛІТЕРАТУРНИХ ДЖЕРЕЛ
ВСТУП
Необхідність ухвалення найкращих рішень так само стара, як само людство. Споконвіку люди, приступаючи до здійснення своїх заходів, роздумували над їх можливими наслідками і приймали рішення, вибираючи тим або іншим чином залежні від них параметри - способи організації заходів. Але до пори, до часу рішення міг прийматися без спеціального математичного аналізу, просто на основі досвіду і здорового глузду.
Оптимізація як розділ математики існує досить давно. Оптимізація - це вибір, тобто те, чим постійно доводиться займатися в повсякденному житті. Терміном "оптимізація" у літературі позначають процес або послідовність операцій, що дозволяють отримати уточнене рішення. Хоча кінцевою метою оптимізації є відшукання найкращого або "оптимального" рішення, зазвичай доводиться задовольнятися поліпшенням відомих рішень, а не доведенням їх до досконалості. Тому під оптимізацією розуміють швидше прагнення до досконалості, яка, можливо, і не буде досягнуто.
Вперше методи оптимізації, як спосіб математичного розв'язання певного класу задач, були тією чи іншою мірою застосовані в ще в XVII ст. Але ця область математичного дослідження ще довго буде складовою частиною великої кількості різних наук заснованих на математиці. В процесі розвитку науки формуються основні принципи цієї дисципліни, розробляються її власні методи підходу до розв'язування задач. Через своє поширення, задачи оптимізації знаходять широке застосування в різних областях, де використовуються математичні методи для аналізу процесів що там відбуваються. Надзвичайно велике значення задачи оптимізації мають в техніці, економіці, управлінні тощо.
РОЗДІЛ 1.ТЕОРЕТИЧНА ЧАСТИНА
1.1 Актуальність проблеми
Необхідність розв'язання задач оптимізації призводить до того, що дана дисципліна стає важливим елементом вивчення спеціалістів, які б могли використовувати ці методи при розв'язанні задач, пов'язаних з її використанням. Через своє поширення в багатьох галузях науки, техніки, економіки технологія розв'язання задач предмету «методів оптимізації та дослідження операцій» повинна стати однією з найважливіших складових частин сучасної математичної освіти. Адже актуальність використання методів оптимізації стає очевидною при розв'язанні задач, основною метою яких є, наприклад, максимізація прибутку від продажу того чи іншого продукту.
Симплекс-метод один з основних методів розв'язання задач оптимізації. Цей метод є універсальний, ним можна розв'язати будь-яку задачу лінійного програмування. Він досить часто застосовується при роботі з оптимізаційними задачами. Крім того на основі цього методу будуються і інші підходи методів оптимізації, такі як: модифікований симплекс-метод, двоїстий симплекс метод, та інші. Вивчення цього методу є однією з основних задач.
В даному курсовому проекті розв'язання та перевірка симплекс-методу буде розглянута на прикладі задачи максимізації виробництва продукції. Задачі такого типу є досить поширеними і застосовуються на різних сферах діяльності суспільства. Тому використання такого прикладу для вивчення методу є раціональним, а проблема актуальною.
1.2 Постановка задачі
Кондитерська фабрика для виробництва семи видів карамелі використовує три види основної сировини: цукровий пісок, патоку та фруктове пюре. Норми затрат сировини кожного виду на виробництво 1т карамелі даного виду наведені в таблиці.
В ній також вказано загальну кількість сировини кожного виду, яка може бути використана фабрикою, а також наведений прибуток від реалізації 1т карамелі даного виду.
1.3 Математична модель задачі
Максимізувати прибуток кондитерської фабрики
Вид сировини |
Норми витрат сировини (т) на 1 т карамелі |
Загальна кількість сировини (т) |
|||||||
А |
В |
С |
D |
E |
F |
G |
|||
Цукровий пісок Патока Фруктове пюре |
0,6 0,4 |
0,5 0,4 0,1 |
0,6 0,3 0,1 |
0,7 0,3 - |
0,4 0,4 0,2 |
0,5 0,3 0,2 |
0,3 0,4 0,3 |
800 600 120 |
|
Прибуток від реалізації 1 т продукції (грн.) |
108 |
112 |
126 |
110 |
120 |
115 |
125 |
x1 - кількість виду карамелі А в (т.)
x2 - кількість виду карамелі B в (т.)
x3 - кількість виду карамелі C в (т.)
x4 - кількість виду карамелі D в (т.)
x5 - кількість виду карамелі E в (т.)
x6 - кількість виду карамелі F в (т.)
x7 - кількість виду карамелі G в (т.)
Визначимо максимальне значення цільової функції
F(X) = 108x1+112x2+126x3+110x4+120x5+115x6+125x7
за наступних умов-обмежень.
0.6x1+0.5x2+0.6x3+0.7x4+0.4x5+0.5x6+0.3x7?800
0.4x1+0.4x2+0.3x3+0.3x4+0.4x5+0.3x6+0.4x7?600
0.1x2+0.1x3+0.2x5+0.2x6+0.3x7?120
Оскільки об'єми сумішей не можуть приймати негативні значення, то з'являються обмеження позитивності :
x1 0 , x2 0 , x3 0 , x4 0, x5 0, x6 0, x7 0
1.4 Формулювання алгоритму методу
Симплекс-метод розв'язання задачі лінійного програмування заснований на переході від одного опорного плану до іншого, при якому значення цільової функції зростає. Вказаний перехід можливий, якщо відомий який-небудь початковий опорний план. Розглянемо завдання, для якого цей план можна безпосередньо записати.
Хай потрібно знайти максимальне значення функції:
F=c1x1+c2x2+…+cnxn,
за умов:
x1+a1m+1xm+1+…+a1nxn=b1,
x2+a2m+1xm+1+…+a2nxn=b2,
…………………………..
xm+amm+1xm+1+…+amnxn=bm,
xj 0 (j=),
де aij , bi і cj (i=; j=) - задані постійні числа.
Векторна форма даного завдання має наступний вигляд: знайти максимум функції:
(1.1)
за умов
x1P1 + x2P2 +…+ xmPm +…+ xnPn = Po. (1.2)
xj 0 (j=), (1.3)
де
Оскільки
b1P1 + b2P2 +…+ xmPm = Po,
то за визначенням опорного плану X=(b1;b2; …;bm; 0; …;0) є опорним планом даного завдання (останні компонент вектора Х рівні нулю). Цей план визначається системою одиничних векторів P1,P2,…,Pm які утворюють базис m-мірного простору. Тому кожен з векторів P1,P2,…,Pm , а також вектор Po можуть бути представлені у вигляді лінійної комбінації векторів даного базису. Нехай
Покладемо
Так як вектори P1,P2,…,Pm - одиничні, то xij=aij і , а
Теорема 1(ознака оптимальності опорного плану). Опорний план X*=(х*1;х*2; …;х*m; 0; …;0) завдання (1.1) - (1.3) є оптимальним, якщо для будь-якого j .
Теорема 6. Якщо для деякого j=k і серед чисел немає позитивних, то цільова функція (1.1) завдання (1.1) - (1.3) не обмежена на безлічі її планів.
Теорема 7. Якщо опорний план Х завдання (1.1) - (1.3) невироджений і, але серед чисел є позитивні (не всі ), то існує опорний план X' такий, що F(X')>F(X) .
Сформульовані теореми дозволяють перевірити, чи є знайдений опорний план оптимальним, і виявити доцільність переходу до нового опорного плану.
Дослідження опорного плану на оптимальність, а також подальший обчислювальний процес зручніше вести, якщо умови завдання і первинні дані, отримані після визначення початкового опорного плану, записати так, як показано в таблиці 1.2.
Таблиця 1.2 - Симплекс-таблиця
Після заповнення таблиці 3 початковий опорний план перевіряють на оптимальність. Для цього проглядають елементи (m+1)-го рядка таблиці. В результаті може мати місце один з наступних трьох випадків:
1) для j=m+1,m+2,..,n (при ). Тому в даному випадку числа для всіх j від 1 до n;
2) для деякого j, і всі відповідні цьому індексу величини
3) для деяких індексів j, і для кожного такого j, принаймні, одне з чисел aij позитивно.
У першому випадку на підставі ознаки оптимальності початковий опорний план є оптимальним. У другому випадку цільова функція не обмежена зверху на безлічі планів, а в третьому випадку можна перейти від початкового плану до нового опорного плану, при якому значення цільової функції збільшиться.
Для визначення вектора, який буде виключенню з базису, знаходять для всіх . Нехай цей мінімум досягається при i=r.
Тоді з базису виключають вектор Pr, а число ark називають розв'язальним елементом.
Стовпець і рядок, на перетині яких знаходиться розв'язальний елемент, називають напрямними.
Отже, перехід від одного опорного плану до іншого зводиться до переходу від однієї симплекс-таблиці до іншої.
У стовпцях векторів, що входять в базис, на перетині рядків і стовпців однойменних векторів проставляються одиниці, а решта всіх елементів даних стовпців вважає рівними нулю.
Елементи векторів Po і Pj в рядку нової симплекс-таблиці, в якій записаний вектор, що вводиться в базис, отримують з елементів цього ж рядка початкової таблиці діленням їх на величину розв'язального елементу. У стовпці Cб в рядку вектора, що вводиться, проставляють величину ck, де до k- індекс вектора, що вводиться.
Решту елементів стовпців вектора Po і Pj нової симплекс-таблиці обчислюють за правилом трикутника. Для обчислення якого-небудь з цих елементів знаходять три числа:
1) число, що стоїть в початковій симплекс-таблиці на місці шуканого елементу нової симплекс-таблиці;
2) число, що стоїть в початковій симплекс-таблиці на перетині рядка, в якому знаходиться шуканий елемент нової симплекс-таблиці, і стовпця, відповідного вектору, що вводиться в базис;
3) число, що стоїть в новій симплекс-таблиці на перетині стовпця, в якому коштує шуканий елемент, і рядки вектора, що знов вводиться в базис (як зазначено вище, цей рядок виходить з рядка початковою симплекс-таблиці діленням її елементів на розв'язальний елемент).
Ці три числа утворюють своєрідний трикутник, дві вершини якого відповідають числам, що знаходяться в початковій симплекс-таблиці, а третя - числу, що знаходиться в новій симплекс-таблиці. Для визначення шуканого елементу нової симплекс-таблиці з першого числа віднімають твір другого і третього.
Після заповнення нової симплекс-таблиці проглядають елементи (m+1)-го рядка. Якщо всі вони додатні, то новий опорний план є оптимальним. Якщо ж серед вказаних чисел є негативні, то, використовуючи описану вище послідовність дій, знаходять новий опорний план. Цей процес продовжують до тих пір, поки або не отримують оптимальний план завдання, або не встановлюють її нерозв'язність.
Для розв'язку використаємо симплекс-метод, оскільки у правій частині всі значення додатні, є базисні змінні.
РОЗДІЛ 2. ПРАКТИЧНА ЧАСТИНА
2.1 Розвязок задачі сиплекс-методом
F(X) = 108x1+112x2+126x3+110x4+120x5+115x6+125x7
0.6x1+0.5x2+0.6x3+0.7x4+0.4x5+0.5x6+0.3x7?800
0.4x1+0.4x2+0.3x3+0.3x4+0.4x5+0.3x6+0.4x7?600
0.1x2+0.1x3+0.2x5+0.2x6+0.3x7?120
x1 0 , x2 0 , x3 0 , x4 0, x5 0, x6 0, x7 0
Зводимо систему до канонічного вигляду, для цього додаємо нові змінні
0.6x1 + 0.5x2 + 0.6x3 + 0.7x4 + 0.4x5 + 0.5x6 + 0.3x7 + 1x8 + 0x9 + 0x10 = 800
0.4x1 + 0.4x2 + 0.3x3 + 0.3x4 + 0.4x5 + 0.3x6 + 0.4x7 + 0x8 + 1x9 + 0x10 = 600
0x1 + 0.1x2 + 0.1x3 + 0x4 + 0.2x5 + 0.2x6 + 0.3x7 + 0x8 + 0x9 + 1x10 = 120
Матриця коефіцієнтів A = a (ij) цієї системи рівнянь має вигляд:
0.6 |
0.5 |
0.6 |
0.7 |
0.4 |
0.5 |
0.3 |
1 |
0 |
0 |
|
0.4 |
0.4 |
0.3 |
0.3 |
0.4 |
0.3 |
0.4 |
0 |
1 |
0 |
|
0 |
0.1 |
0.1 |
0 |
0.2 |
0.2 |
0.3 |
0 |
0 |
1 |
Вирішимо систему рівнянь щодо базисних змінних:
x8, x9, x10,
Вважаючи, що вільні змінні рівні 0, отримаємо перший опорний план:
X1 = (0,0,0,0,0,0,0,800,600,120)
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
|
x8 |
800 |
0.6 |
0.5 |
0.6 |
0.7 |
0.4 |
0.5 |
0.3 |
1 |
0 |
0 |
|
x9 |
600 |
0.4 |
0.4 |
0.3 |
0.3 |
0.4 |
0.3 |
0.4 |
0 |
1 |
0 |
|
x10 |
120 |
0 |
0.1 |
0.1 |
0 |
0.2 |
0.2 |
0.3 |
0 |
0 |
1 |
|
F(X0) |
0 |
-108 |
-112 |
-126 |
-110 |
-120 |
-115 |
-125 |
0 |
0 |
0 |
Переходимо до основного алгоритму симплекс-методу.
Ітерація № 0.
Поточний опорний план неоптимальний, тому що в індексному рядку знаходяться від'ємні коефіцієнти.
В індексному рядку F (x) вибираємо максимальний по модулю елемент. В якості ведучого виберемо стовпець, відповідний змінної x3, так як це найбільший коефіцієнт за модулем.
Обчислимо значення Di по рядках як частка від ділення: bi / ai3
і з них виберемо найменше:
Отже, 3-а рядок є провідною.
Розрахунковий елемент дорівнює (0.1) і знаходиться на перетині ведучого стовпця і ведучого рядка.
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
|
x8 |
800 |
0.6 |
0.5 |
0.6 |
0.7 |
0.4 |
0.5 |
0.3 |
1 |
0 |
0 |
1333.33 |
|
x9 |
600 |
0.4 |
0.4 |
0.3 |
0.3 |
0.4 |
0.3 |
0.4 |
0 |
1 |
0 |
2000 |
|
x10 |
120 |
0 |
0.1 |
0.1 |
0 |
0.2 |
0.2 |
0.3 |
0 |
0 |
1 |
1200 |
|
F(X1) |
0 |
-108 |
-112 |
-126 |
-110 |
-120 |
-115 |
-125 |
0 |
0 |
0 |
0 |
Після перетворень отримуємо нову таблицю:
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
|
x8 |
80 |
0.6 |
-0.1 |
0 |
0.7 |
-0.8 |
-0.7 |
-1.5 |
1 |
0 |
-6 |
|
x9 |
240 |
0.4 |
0.1 |
0 |
0.3 |
-0.2 |
-0.3 |
-0.5 |
0 |
1 |
-3 |
|
x3 |
1200 |
0 |
1 |
1 |
0 |
2 |
2 |
3 |
0 |
0 |
10 |
|
F(X1) |
151200 |
-108 |
14 |
0 |
-110 |
132 |
137 |
253 |
0 |
0 |
1260 |
Ітерація № 1.
Поточний опорний план неоптимальний, тому що в індексному рядку знаходяться від'ємні коефіцієнти.
В індексному рядку F (x) вибираємо максимальний по модулю елемент. В якості ведучого виберемо стовпець, відповідний змінної x4, так як це найбільший коефіцієнт за модулем.
Обчислимо значення Di по рядках як частка від ділення: bi / ai4
і з них виберемо найменше:
Отже, 1-ша рядок є провідною.
Дозволяє елемент дорівнює (0.7) і знаходиться на перетині ведучого стовпця і ведучого рядка.
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
|
x8 |
80 |
0.6 |
-0.1 |
0 |
0.7 |
-0.8 |
-0.7 |
-1.5 |
1 |
0 |
-6 |
114.29 |
|
x9 |
240 |
0.4 |
0.1 |
0 |
0.3 |
-0.2 |
-0.3 |
-0.5 |
0 |
1 |
-3 |
800 |
|
x3 |
1200 |
0 |
1 |
1 |
0 |
2 |
2 |
3 |
0 |
0 |
10 |
- |
|
F(X2) |
151200 |
-108 |
14 |
0 |
-110 |
132 |
137 |
253 |
0 |
0 |
1260 |
0 |
Після перетворень отримуємо нову таблицю:
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
|
x4 |
114.29 |
0.86 |
-0.14 |
0 |
1 |
-1.14 |
-1 |
-2.14 |
1.43 |
0 |
-8.57 |
|
x9 |
205.71 |
0.14 |
0.14 |
0 |
0 |
0.14 |
0 |
0.14 |
-0.43 |
1 |
-0.43 |
|
x3 |
1200 |
0 |
1 |
1 |
0 |
2 |
2 |
3 |
0 |
0 |
10 |
|
F(X2) |
163771.43 |
-13.71 |
-1.71 |
0 |
0 |
6.29 |
27 |
17.29 |
157.14 |
0 |
317.14 |
Ітерація № 2.
Поточний опорний план неоптимальний, тому що в індексному рядку знаходяться від'ємні коефіцієнти.
В індексному рядку F (x) вибираємо максимальний по модулю елемент. В якості ведучого виберемо стовпець, відповідний змінної x1, так як це найбільший коефіцієнт за модулем.
Обчислимо значення Di по рядках як частка від ділення: bi / ai1
і з них виберемо найменше:
Отже, 1-ша рядок є провідною.
Дозволяє елемент дорівнює (0.86) і знаходиться на перетині ведучого стовпця і ведучого рядка.
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
|
x4 |
114.29 |
0.86 |
-0.14 |
0 |
1 |
-1.14 |
-1 |
-2.14 |
1.43 |
0 |
-8.57 |
133.33 |
|
x9 |
205.71 |
0.14 |
0.14 |
0 |
0 |
0.14 |
0 |
0.14 |
-0.43 |
1 |
-0.43 |
1440 |
|
x3 |
1200 |
0 |
1 |
1 |
0 |
2 |
2 |
3 |
0 |
0 |
10 |
- |
|
F(X3) |
163771.43 |
-13.71 |
-1.71 |
0 |
0 |
6.29 |
27 |
17.29 |
157.14 |
0 |
317.14 |
0 |
Після перетворень отримуємо нову таблицю:
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
|
x1 |
133.33 |
1 |
-0.17 |
0 |
1.17 |
-1.33 |
-1.17 |
-2.5 |
1.67 |
0 |
-10 |
|
x9 |
186.67 |
0 |
0.17 |
0 |
-0.17 |
0.33 |
0.17 |
0.5 |
-0.67 |
1 |
1 |
|
x3 |
1200 |
0 |
1 |
1 |
0 |
2 |
2 |
3 |
0 |
0 |
10 |
|
F(X3) |
165600 |
0 |
-4 |
0 |
16 |
-12 |
11 |
-17 |
180 |
0 |
180 |
Ітерація № 3.
Поточний опорний план неоптимальний, тому що в індексному рядку знаходяться від'ємні коефіцієнти.
В індексному рядку F (x) вибираємо максимальний по модулю елемент. В якості ведучого виберемо стовпець, відповідний змінної x7, так як це найбільший коефіцієнт за модулем.
Обчислимо значення Di по рядках як частка від ділення: bi / ai7
і з них виберемо найменше:
Отже, 2-а рядок є провідною.
Дозволяє елемент дорівнює (0.5) і знаходиться на перетині ведучого стовпця і ведучого рядка.
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
|
x1 |
133.33 |
1 |
-0.17 |
0 |
1.17 |
-1.33 |
-1.17 |
-2.5 |
1.67 |
0 |
-10 |
- |
|
x9 |
186.67 |
0 |
0.17 |
0 |
-0.17 |
0.33 |
0.17 |
0.5 |
-0.67 |
1 |
1 |
373.33 |
|
x3 |
1200 |
0 |
1 |
1 |
0 |
2 |
2 |
3 |
0 |
0 |
10 |
400 |
|
F(X4) |
165600 |
-0 |
-4 |
0 |
16 |
-12 |
11 |
-17 |
180 |
0 |
180 |
0 |
Після перетворень отримуємо нову таблицю:
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
|
x1 |
1066.67 |
1 |
0.67 |
0 |
0.33 |
0.33 |
-0.33 |
0 |
-1.67 |
5 |
-5 |
|
x7 |
373.33 |
0 |
0.33 |
0 |
-0.33 |
0.67 |
0.33 |
1 |
-1.33 |
2 |
2 |
|
x3 |
80 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
4 |
-6 |
4 |
|
F(X4) |
171946.67 |
0 |
1.67 |
0 |
10.33 |
-0.67 |
16.67 |
0 |
157.33 |
34 |
214 |
Ітерація № 4.
Поточний опорний план неоптимальний, тому що в індексному рядку знаходяться від'ємні коефіцієнти.
В індексному рядку F (x) вибираємо максимальний по модулю елемент. В якості ведучого виберемо стовпець, відповідний змінної x5, так як це найбільший коефіцієнт за модулем.
Обчислимо значення Di по рядках як частка від ділення: bi / ai5
і з них виберемо найменше:
Отже, 2-а рядок є провідною.
Дозволяє елемент дорівнює (0.67) і знаходиться на перетині ведучого стовпця і ведучого рядка.
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
min |
|
x1 |
1066.67 |
1 |
0.67 |
0 |
0.33 |
0.33 |
-0.33 |
-0 |
-1.67 |
5 |
-5 |
3200 |
|
x7 |
373.33 |
0 |
0.33 |
0 |
-0.33 |
0.67 |
0.33 |
1 |
-1.33 |
2 |
2 |
560 |
|
x3 |
80 |
-0 |
0 |
1 |
1 |
0 |
1 |
0 |
4 |
-6 |
4 |
- |
|
F(X5) |
171946.67 |
0 |
1.67 |
0 |
10.33 |
-0.67 |
16.67 |
-0 |
157.33 |
34 |
214 |
0 |
Після перетворень отримуємо нову таблицю:
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
|
x1 |
880 |
1 |
0.5 |
0 |
0.5 |
0 |
-0.5 |
-0.5 |
-1 |
4 |
-6 |
|
x5 |
560 |
0 |
0.5 |
0 |
-0.5 |
1 |
0.5 |
1.5 |
-2 |
3 |
3 |
|
x3 |
80 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
4 |
-6 |
4 |
|
F(X5) |
172320 |
0 |
2 |
0 |
10 |
0 |
17 |
1 |
156 |
36 |
216 |
Кінець ітерацій: індексний рядок не містить негативних елементів - знайдений оптимальний план
Остаточний варіант симплекс-таблиці:
Базис |
В |
x1 |
x2 |
x3 |
x4 |
x5 |
x6 |
x7 |
x8 |
x9 |
x10 |
|
x1 |
880 |
1 |
0.5 |
0 |
0.5 |
0 |
-0.5 |
-0.5 |
-1 |
4 |
-6 |
|
x5 |
560 |
0 |
0.5 |
0 |
-0.5 |
1 |
0.5 |
1.5 |
-2 |
3 |
3 |
|
x3 |
80 |
0 |
0 |
1 |
1 |
0 |
1 |
0 |
4 |
-6 |
4 |
|
F(X6) |
172320 |
0 |
2 |
0 |
10 |
0 |
17 |
1 |
156 |
36 |
216 |
Оптимальний план можна записати так:
x1 = 880
x5 = 560
x3 = 80
F(X) = 108*880 + 126*80 + 120*560 = 172320
програмний максимізація прибуток симплекс
2.5 Аналіз результатів
Для перевірки отриманих даних, ми роз'язали дану задачу в MS Excel, за допомогою надбудови Поиск решения. В результаті реалізації даного прикладу ми отримали точно такі дані, як і в практичній частині. Це в свою чергу підтверджує правильність функціонування програми.
Для більш точної перевірки було проведено обрахунки задачі без допомоги різних програмних засобів, в результаті чого результати збігаються з варіантом в Excel.
ВИСНОВКИ
В даний час новітні досягнення математики і сучасної обчислювальної техніки знаходять все більш широке застосування як в економічних дослідженнях і плануванні, так і в інших завданнях. Цьому сприяє розвиток таких розділів математики як математичне програмування, методи оптимізація, а також бурхливий розвиток швидкодіючої електронно-обчислювальної техніки. Особливо успішно розвиваються методи оптимального управління. Економіка і виробництво розвивається швидко там, де широко використовуються математичні методи.
В результаті роботи над створення програми для реалізації оптимізації виробництва, хоча й для певного прикладу, було поглиблено знання з дисципліни «Методи оптимізації та дослідження операцій». Було реалізовано програмний продукт для розв'язання економічної задачи пов'язаної з максимізацією прибутку деякого підприємства. Метод, описаний в програмі, може застосовуватися на державних і приватних підприємствах для поліпшення ефективності виробництва.
Размещено на Allbest.ru
Подобные документы
Застосування симплекс-методу для розв’язання оптимізаційних задач лінійного програмування, що містять три змінні. Функції ітераційної обчислювальної процедури, що виконують приведення до зручного для розв’язання оптимального вигляду ЗЛП за кілька кроків.
курсовая работа [359,5 K], добавлен 18.09.2013Задача лінійного програмування. Розв’язання задачі геометричним методом. Приведення системи рівнянь до канонічного вигляду. Розв’язання симплекс-методом. Розв’язок двоїстої задачі. Задача цілочислового програмування і дробово-лінійного програм.
контрольная работа [385,2 K], добавлен 04.06.2009Використання мови програмуванння Java при виконанні "задачі лінійного програмування": її лексична структура і типи даних. Методи розв’язання задачі. Особливості логічної структури програми, побудова її зручного інтерфейсу за допомогою симплекс методу.
курсовая работа [437,9 K], добавлен 24.01.2011Постановка та описання алгоритму розв’язання задачі про оптимальне призначення, формулювання вимог. Обґрунтування вибору засобів програмування. Розробка структури програми та системи її візуалізації, тестування та верифікація, оцінка ефективності.
курсовая работа [1,1 M], добавлен 12.05.2013Метод розв’язків рівнянь більш високих порядків. Вибір методу розв'язання задачі Коші. Методи розв'язання крайових задач розглядаються на прикладі звичайного диференціального рівняння другого порядку. Вибір методу інструментальних засобів вирішення задач.
курсовая работа [132,0 K], добавлен 03.12.2009Технологія візуального проектування. Аналітичне розв’язання задачі в загальному вигляді. Програмування в консольному режимі. Сценарій розв’язання задачі в Delphi та блок-схема алгоритму. Програмний код додатку та опис інтерфейсу з екранними копіями.
курсовая работа [2,4 M], добавлен 22.06.2009Загальні відомості та геометричний зміст розв'язання задачі Коші. Використання методу Ейлера для розв'язання звичайних диференціальних рівнянь першого порядку. Розробка блок-схеми та реалізація алгоритму в середовищі програмування Borland Delphi 7.0.
курсовая работа [398,1 K], добавлен 14.10.2012Визначення і розв’язання задачі Коші для звичайних диференціальних рівнянь першого порядку методом Ейлера, алгоритм розв’язання, похибка при вирішенні. Складання блок-схеми. Реалізація алгоритму у середовищі Borland Pascal. Результат роботи програми.
курсовая работа [264,0 K], добавлен 20.08.2010Стандартний спосіб розв’язання задачі Коші для звичайного диференціального рівняння першого порядку чисельними однокроковими методами. Геометричний зміст методу Ейлера. Побудова графіку інтегральної кривої. Особливість оцінки похибки за методом Рунге.
курсовая работа [112,9 K], добавлен 30.11.2009Розв’язання нелінійних алгебраїчних рівнянь методом дихотомії. Вирішення задачі знаходження коренів рівняння. Розробка алгоритму розв’язання задачі і тестового прикладу. Блок-схеми алгоритмів основних функцій. Інструкція користувача програмою мовою С++.
курсовая работа [2,0 M], добавлен 24.09.2010