Знаходження оптимального числа листів фанери і вирізання потрібного числа заготовок при мінімальних відходах
Характеристика Mathcad як системи комп'ютерної алгебри з класу систем автоматизованого проектування. Опис математичної моделі задачі. Обґрунтування вибору методу її розв’язання симплекс-методом, алгоритм Гоморі. Аналіз результатів роботи в MathCAD.
Рубрика | Экономико-математическое моделирование |
Вид | контрольная работа |
Язык | украинский |
Дата добавления | 02.10.2014 |
Размер файла | 119,9 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
12
Размещено на http://www.allbest.ru/
Знаходження оптимального числа листів фанери і вирізання потрібного числа заготовок при мінімальних відходах
Вступ
Завдання на виконання:
Зі стандартних листів фанери необхідно вирізати заготовки трьох типів у кількості, що відповідно дорівнює 24, 31 і 18 штук. Кожен лист фанери може бути розрізаний двома способами. Кількість заготовок і величина відходів матеріалу, які можна отримати при даному способі розкрою, наведені в табл. 1.
Таблиця 1:
Тип заготовки |
Кількість заготовок, шт. |
||
Перший спосіб розкрою |
Другий спосіб розкрою |
||
А |
2 |
6 |
|
В |
5 |
4 |
|
С |
2 |
3 |
|
Величина відходів, см2 |
12 |
16 |
1. Математична модель задачі
12Х1+ 16X2 -> min
2Х1+6Х2 >= 24
5Х1+ 4Х2 >= 31
2Х1+ 3Х2 >=18
Хі >= 0 (i=1,2)
Хі -- ціле.
2. Обґрунтування вибору методу розв'язання задачі
Оскільки в поставленій задачі цільова функція прямує до мінімуму (мінімізація величини відходів) і вона лінійно залежить від елементів рішення та є обмеження, які представляють собою лінійні нерівності, тоді поставлена задача є задачею лінійного програмування. Та оскільки є вимога, що змінні є цілими числами (кількість заготовок - ціле число), тоді відповідно задача являється задачею цілочисельного лінійного програмування. Математична модель поставленої задачі відповідає математичній моделі задачі цілочисельного лінійного програмування:
Існує два методи рішення задач цілочисельного лінійного програмування:
1. Метод відсікання (алгоритм Гоморі): суть методу полягає в тому, що при отриманні нецілочисельного рішення необхідно побудувати рівняння, яке відсіче отриманий оптимальний результат і залишить всі інші значення ОДР. Після цього задача знову вирішується. Таким чином задача вирішується до тих пір, поки не буде отримано цілочисельне рішення задачі.
2. Метод гілок і границь: метод являє собою комбінаторний метод, який передбачає побудову розгалуження простору рішень і відкидання областей, які не вміщують допустимі цілочисельні рішення. В методі вирішується послідовність релаксованих задач і на кожній ітерації виконується оцінка верхньої границі оптимального рішення. Процес рішення задачі є процесом породження гілок і побудови границь цільової функції.
Для вирішення цієї задачі в рамках курсового проекту використаємо алгоритм Гоморі.
3. Алгоритм розв'язання задачі (Алгоритм Гоморі)
1. Симплекс методом вирішуємо задачу:
- визначаємо індексний рядок:
- вибір розв'язального стовпчика:
При ц.ф. max:, якщо всі , то рішення пункту знайдено;
При ц.ф. min , якщо всі , то рішення пункту знайдено;
- вибір розв'язального рядка і визначення розв'язального елемента:
, Якщо всі , то задача не має рішення і є необмеженою;
У розв'язальному рядку записується:
У розв'язальному стовпчику записується: , для всіх r, крім r=i,
Для всіх інших елементів, крім r=i та k=j, використовується правило прямокутника:
,
l - номер ітерації;
- перераховуємо таблиці.
Якщо отриманий оптимальний результат є цілочисельним, тоді рішення задачі знайдено.
2. Нехай серед координат отриманого оптимального рішення є не цілі числа. Оберемо серед цих змінних ту, яка має найбільшу дробову частину: xs=bs. Цій змінній відповідає якийсь рядок. Для цього рядка справедлива рівність:
.
Рівняння:
,
буде додаватись в останню симплекс таблицю для продовження рішення. Змінна Ui буде (n+1) змінною і буде братися в якості базисної, для неї буде вводитись додатковий стовпчик.
3. Двоїстим симплекс методом вирішується отримана задача:
- від'ємне дробове число визначає вектор, який виводиться з базису. Вектор, який вводиться в базис обчислюється за формулою:
- відносно розв'язального елементу перераховується симплекс таблиця.
Якщо в результаті рішення отримаємо цілі значення, то рішення задачі знайдено. В противному випадку робимо 2 та 3 пункти.
Для розв'язання задачі використовуємо комп'ютерний математичний пакет: MathCAD та табличний процесор MS Exel.
4. Розв'язання задачі вручну
За умовою задачі ми склали математичну модель задачі. Приводимо задачу до канонічного виду:
12x1+ 16x2+ x3+ x4+ x5 -> min
2x1 + 6x2-1x3 + 0x4 + 0x5 = 24
5x1 + 4x2 + 0x3-1x4 + 0x5 = 31
2x1 + 3x2 + 0x3 + 0x4-1x5 = 18
Хі >= 0 (i=1,3) Хі -- ціле.
Зведемо завдання до знаходження максимуму. Для цього помножимо всі рядки на (-1) і шукатимемо опорний план.
-2x1-6x2 + 1x3 + 0x4 + 0x5 = -24
-5x1-4x2 + 0x3 + 1x4 + 0x5 = -31
-2x1-3x2 + 0x3 + 0x4 + 1x5 = -18
Опорний план:
X1 = (0,0,-24,-31,-18)
Базис |
БР |
x1 |
x2 |
x3 |
x4 |
x5 |
|
x3 |
-24 |
-2 |
-6 |
1 |
0 |
0 |
|
x4 |
-31 |
-5 |
-4 |
0 |
1 |
0 |
|
x5 |
-18 |
-2 |
-3 |
0 |
0 |
1 |
|
F(X0) |
0 |
12 |
16 |
0 |
0 |
0 |
Визначаємо роз'вязальні рядок і стовпець.
На перетині роз'вязальних рядка і стовпця знаходиться роз'вязальний елемент, рівний (-4)
Базис |
БР |
x1 |
x2 |
x3 |
x4 |
x5 |
|
x3 |
-24 |
-2 |
-6 |
1 |
0 |
0 |
|
x4 |
-31 |
-5 |
-4 |
0 |
1 |
0 |
|
x5 |
-18 |
-2 |
-3 |
0 |
0 |
1 |
|
F(X) |
0 |
12 |
16 |
0 |
0 |
0 |
|
и |
0 |
12 : (-5) = -22/5 |
16 : (-4) = -4 |
- |
- |
- |
Базис |
БР |
x1 |
x2 |
x3 |
x4 |
x5 |
|
x3 |
221/2 |
51/2 |
0 |
1 |
-11/2 |
0 |
|
x2 |
73/4 |
11/4 |
1 |
0 |
-1/4 |
0 |
|
x5 |
51/4 |
13/4 |
0 |
0 |
-3/4 |
1 |
|
F(X0) |
-124 |
-8 |
0 |
0 |
4 |
0 |
У базисному стовпці всі елементи додатні.
Переходимо до основного алгоритму симплекс-методу.
Поточний опорний план неоптимальний, оскільки в індексному рядку знаходяться від'ємні коефіцієнти.
Як роз'вязальний виберемо стовпець, відповідний змінній x1, оскільки це найбільший коефіцієнт по модулю.
Обчислимо значення Di по рядках як частку від ділення: bi / ai1
і з них выберемо найменше:
min (221/2 : 51/2 , 73/4 : 11/4 , 51/4 : 13/4 ) = 3
Отже, 3-тій рядок є роз'вязальний .
Роз'вязальний елемент рівний (13/4) знаходиться на пересіченні роз'вязального стовпця і роз'вязального рядка.
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
min |
|
x3 |
221/2 |
51/2 |
0 |
1 |
-11/2 |
0 |
41/11 |
|
x2 |
73/4 |
11/4 |
1 |
0 |
-1/4 |
0 |
61/5 |
|
x5 |
51/4 |
13/4 |
0 |
0 |
-3/4 |
1 |
3 |
|
F(X1) |
124 |
-8 |
0 |
0 |
4 |
0 |
0 |
Отримуємо нову симплекс-таблицю:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
|
x3 |
6 |
0 |
0 |
1 |
6/7 |
-31/7 |
|
x2 |
4 |
0 |
1 |
0 |
2/7 |
-5/7 |
|
x1 |
3 |
1 |
0 |
0 |
-3/7 |
4/7 |
|
F(X1) |
100 |
0 |
0 |
0 |
4/7 |
44/7 |
Кінець ітерацій: індексний рядок не містить від'ємних елементів - знайдений оптимальний план
Остаточний варіант симплекс-таблиці:
Базис |
B |
x1 |
x2 |
x3 |
x4 |
x5 |
|
x3 |
6 |
0 |
0 |
1 |
6/7 |
-31/7 |
|
x2 |
4 |
0 |
1 |
0 |
2/7 |
-5/7 |
|
x1 |
3 |
1 |
0 |
0 |
-3/7 |
4/7 |
|
F(X2) |
100 |
0 |
0 |
0 |
4/7 |
44/7 |
Оптимальний план можна записати так:
x3 = 6
x2 = 4
x1 = 3
F(X) = 0*6 + 16*4 + 12*3 = 100
5. Аналіз результатів роботи в програмі MathCAD
Для свого вирішення задачі використаємо функцію:
Minimize(f, var1, var2, ...) повертає значення var1, var2, які задовольняють обмеження вирішують блок і, які змушують function f набути його найменшого значення.
Аргументи: var1, var2 ... прості змінні
f - функція, визначена вище, вирішують блок. Наприклад, г аргументу міг послатися на function г(x,y) :=x/y.
Використання функціЇ:
1. Визначте функцію, щоб мінімізувати.
2. Визначте значення припущення для змінних, що вирішуються.
3. Надрукуйте слово Given, що означає умова завдання.
4. Внизу Given, type рівності і нерівності, які служать обмеженнями, використовуючи логічні оператори.
5. Введіть функцію Мінімізувати з відповідними аргументами.
Примітки:
· Ці функції повертають скаляр, коли лише одна змінна включена. Інакше вони повертають вектор.
· Якщо немає жодних обмежень слово Given не необхідне.
Вводимо вхідні дані та отримаємо наступний результат:
Вектор Р відображає значення шуканих мінних. Отже, х1=3, х2=4.
Знайдений результат відповідає результату, обчисленому вручну. Задача вирішена
Висновок
Mathcad -- система комп'ютерної алгебри з класу систем автоматизованого проектування, орієнтована на підготовку інтерактивних документів з обчисленнями і візуальним супроводженням, відрізняється легкістю використання.
Mathcad має простий і інтуїтивний для використання інтерфейс користувача. Для введення формул і даних можна використовувати як клавіатуру, так і спеціальні панелі інструментів.
Робота здійснюється в межах робочого аркуша, на якому рівняння і вирази відображаються графічно, на противагу текстовому запису в мовах програмування.
Незважаючи на те, що ця програма здебільшого орієнтована на користувачів-непрограмістів, Mathcad також використовується в складніших проектах, щоб візуалізувати результати математичного моделювання, шляхом використання поширених обчислень і традиційних мов програмування.
Список використаної літератури
mathcad математичний комп'ютерний
1. Методи оптимізації. Методичні вказівки до виконання лабораторних робіт / Уклад. Г.А. Гайна, Н.Л. Попович. - К.: КНУБА, 2011.
2. Методичні вказівки до виконання курсової роботи з дисципліни “Методи оптимізації” / Уклад. Г.А. Гайна. - К.: КНУБА, 2009.
3. Гайна Г.А. Методи оптимізації: алгоритми, приклади, задачі: Навчальний посібник. - К.: КНУБА, 2008. - 144с.
Размещено на Allbest.ru
Подобные документы
Методика та головні етапи складання математичної моделі рішення заданої задачі, її елементи: цільові функції, обчислення. Розв’язок задачі за допомогою методу Гоморі: алгоритм програми, ітерації. Розрахунок задачі методом "Розгалуджень та обмежень".
курсовая работа [88,1 K], добавлен 31.08.2014Складання математичної моделі задачі комівояжера. Її розв'язок за допомогою електронних таблиць Microsoft Excel. Знаходження оптимального плану обходу міст комівояжером за заданими критеріями. Інтерпретація графічно отриманого розв’язку даної задачі.
контрольная работа [244,8 K], добавлен 24.09.2014Побудування математичної моделі задачі. Розв'язання задачі за допомогою лінійного програмування та симплексним методом. Наявність негативних коефіцієнтів в індексному рядку. Основний алгоритм симплексного методу. Оптимальний план двоїстої задачі.
контрольная работа [274,8 K], добавлен 28.03.2011Складання математичної моделі задачі. Побудова симплексної таблиці. Розв’язок задачі лінійного програмування симплексним методом. Рішення двоїстої задачі та складання матриці. Знаходження графічним методом екстремумів функцій, визначеній нерівностями.
контрольная работа [239,0 K], добавлен 28.03.2011Побудова математичної моделі плану виробництва, який забезпечує найбільший прибуток. Розв’язок задачі симплекс-методом, графічна перевірка оптимальних результатів. Складання опорного плану транспортної задачі. Пошук екстремумів функцій графічним методом.
контрольная работа [286,4 K], добавлен 28.03.2011Розробка математичної моделі задачі оптимізації, розв’язання її засобами "Пошук рішення" в MS Excel. Класичні методи дослідження функцій на оптимум. Графічне розв’язання задачі лінійного програмування. Метод штучного базису. Двоїстий симплекс-метод.
контрольная работа [755,6 K], добавлен 26.12.2011Загальна модель задачі математичного програмування, задача лінійного програмування та особливості симплекс–методу для розв’язання задач лінійного програмування Економіко–математична модель конкретної задачі, алгоритм її вирішення за допомогою Exel.
контрольная работа [109,7 K], добавлен 24.11.2010Загальна і основна задачі лінійного програмування. Приклади їх розв’язання задач симплекс-методом. Визначення максимального/мінімального значення функції. Етапи знаходження оптимального плану. Миттєвий попит при відсутності витрат на оформлення замовлень.
курсовая работа [325,4 K], добавлен 25.04.2019Максимальна негативна кількість та індексний рядок. Розв'язання задачі лінійного програмування симплексним методом. Побудова першого опорного плану системи нерівностей. Метод штучного базису та матриця коефіцієнтів. Основний алгоритм симплекс-методу.
контрольная работа [302,8 K], добавлен 28.03.2011Математична модель задачі лінійного програмування та її розв’язок симплекс-методом. Опорний план математичної моделі транспортної задачі. Оптимальний план двоїстої задачі. Рішення графічним методом екстремумів функції в області, визначеній нерівностями.
контрольная работа [290,0 K], добавлен 28.03.2011