Решение задач линейного программирования в среде wxMaxima. Практикум. Учебное пособие
.pdf
(%o1)
Затем с помощью функции maximize_lp находим решение |
|
задачи: |
Q:x3; |
(%i2) |
|
(Q) |
x3 |
(%i3) |
maximize_lp(Q,[2·x1+3·x2 <= 60, |
|
20·x1+10·x2 <= 450, |
|
9·x2−2·x1 <= 36, |
|
x1−3·x3 >= 0, |
|
x2−2·x3 >= 0, |
|
x1 >= 0, x2 >= 0, x3 >= 0] ); |
(%o3) |
. |
2. Пропорции:
(%i1) load(simplex);
(%o1)
Затем с помощью функции maximize_lp находим решение
задачи: |
Q:x1+x2; |
(%i2) |
|
(Q) |
x2+x1 |
(%i3) |
maximize_lp(Q,[2·x1+3·x2 <= 60, |
|
20·x1+10·x2 <= 450, |
|
9·x2−2·x1 <= 36, |
|
2·x1−3·x2 >= 0, |
|
x1 >= 0, x2 >= 0] ); |
(%o3) |
. |
2. Выпуск разнородной продукции на одном оборудовании. Завод выпускает детали А и Б. Цех № 1 может изготовить за смену 600 деталей А или 1200 деталей Б. Эти детали затем поступают в цех № 2, где за 1 ч могут обработать 150 деталей А или
21
100 деталей Б. Сколько деталей А и Б может выпускать завод за 8- часовую смену, чтобы их общее количество было максимально?
Обозначим: х1 и х2 – выпуск деталей А и Б за смену. Если за смену изготовить 600 деталей А, то на 1 деталь тратится 1/600 часть смены; на х1 деталь – надо х1/600 часть смены. Аналогично на х2 деталей Б надо х2/1200 частей смены. Получаем:
x1 + x2 £ 1 смены Þ 2x1+ x2 £1200 .
6001200
Вцехе № 2 на обработку деталей А надо х1/150 ч, на детали
Б–х2/100 ч:
x1 |
+ |
|
x 2 |
£ 8 ч Þ 2 x1 + 3 x 2 £ 2400 . |
|
150 |
100 |
||||
|
|
||||
Целевая функция: q= x1+ x2®max.
Пример.
(%i1) load(simplex);
(%o1)
Затем с помощью функцииmaximize_lp находим решение задачи:
(%i3)
(%o3)
Задание. Исходные данные - в приложении 5.
1.Записать целевую функцию.
2.Составить ограничения.
3.Решить задачу с помощью wxMAXIMA.
4.Записать результаты.
22
Контрольные вопросы
1.Какой общий алгоритм разработки модели решения задачи?
2.Что такое область допустимых решений? Как она определяется в задаче?
3.Что такое целевая функция?
4.Что такое нормальный вектор? Каковы его характеристики? Что такое направление нормального вектора?
Практическая работа № 6.
Решение комбинированных задач
Цель работы: изучить способы решения комбинированных задач.
Порядок выполнения работы
Фирма производит два продукта А и В, продаваемых по 8 и 15 центов за упаковку. Продукт А обрабатывается на машинеI, продукт В – на машине II, характеристики машин в таблице.
|
|
|
Таблица |
|
Показатель |
Машина |
|
|
|
|
I |
|
II |
|
Производительность, кг сырья/ч |
5000 |
|
4000 |
|
Потери, % |
10 |
|
20 |
|
Рабочий день, ч |
6 |
|
5 |
|
Цена 1 ч работы, дол. |
288 |
|
336 |
|
Затем оба продукта упаковываются. 1 кг сырья стоит 6 центов. Упаковка продукта А весит 1/4 кг, а упаковка В – 1/3 кг. Фирма работает 10 ч в день, производя за 1 ч продукцию стоимостью 360 дол. Какое потребление сырья для продуктов А и В максимизирует дневную прибыль?
Обозначим:
x1 – потребление кг сырья для производства продукта А; х2 – потребление кг сырья для производства продукта В.
Целевая функция:
23
x1 × 288 - стоимость работы оборудования I в день;
5000
x2 ×336 - стоимость работы оборудования II в день.
4000
x1× 0,9 - производится продукта А в день с учетом потерь; x2 ×0,8 - производится продукта В в день с учетом потерь.
x1×0,9 - количество упаковок продукта А в день;
1/ 4
x2 × 0,8 - количество упаковок продукта В в день.
1/ 3
Доход от продажи продуктов:
x1×0,9 ·0,08 – стоимость упаковок продукта А;
1/ 4
x2 × 0,8 ·0,15 – стоимость упаковок продукта В.
1/ 3
Затраты на закупку сырья:
- стоимость сырья для продуктов А и В. Тогда целевая функция будет иметь вид
æ x1×0,9 ×0.08 |
|
x1×0,8 ×0.15 |
ö |
|
||
Q = ç |
|
+ |
|
÷ |
- |
|
1/ 4 |
1/ 3 |
|||||
è |
|
ø |
|
|||
éæ |
x1 |
|
|
x1 |
|
ö |
ù |
|
|
- êç |
|
× 288 |
+ |
|
×336 |
÷ |
+ (x1 + x2)×0.06ú |
® max . |
|
5000 |
4000 |
||||||||
ëè |
|
|
|
ø |
û |
|
Ограничения: |
x1 |
|
x2 |
|
|
на работу оборудования: |
£ 6; |
£ 5. |
|||
|
|
||||
|
5000 |
4000 |
|||
на стоимость продукции:
0,08× x1×0,9 ×4 + 0,15 × x2 ×0,8×3 = 3600 .
Пример.
(%i1) load(simplex);
24
(%o1)
Затем с помощью функции maximize_lp находим решение задачи:
(%i2) Q:x1·0.9·0.08/(1/4) + x2·0.8·0.15/(1/3) − (x1·288/5000 + x2·336/4000) + 0.06·(x1+x2);
(Q) 0.06(x1+x2)+0.276x2+0.2304x1
(%i3) maximize_lp(Q,[x1/5000 <= 6, x2/4000 <= 5, 0.08·x1·0.9·4+0.15·x2·0.8·3 = 3600, x1 >= 0, x2 >= 0] );
(%o3) .
Задание. Исходные данные - в приложении 6.
1.Записать целевую функцию.
2.Составить ограничения.
3.Решить задачу с помощью wxMAXIMA.
4.Записать результаты и выводы.
Контрольные вопросы
1.Какой общий алгоритм разработки модели решения задачи?
2.Какие типовые алгоритмы используются при решении комбинированных задач?
3.Что такое целевая функция?
4.Важно ли приведение значений переменных к одинаковым временным рамкам?
5.Какие параметры можно использовать в качестве целевой функции?
6.Какие основные типы ограничений используются в задачах линейного программирования?
25
Приложение 1
Исходные данные по выполнению практической работы № 1. Графическое решение задачи линейного программирования
Вариант № 1
q = -3x1 + 6x2 → min
ì5x1 - 2x2 £ 4;
ï |
|
|
|
|
|
ï2x2 - x1 £ 4; |
|||||
íx |
+ x |
2 |
£ 4; |
|
|
ï 1 |
|
|
|
|
|
ïx |
³ 0, |
x |
2 |
³ 0. |
|
î 1 |
|
|
|
|
|
Вариант № 2 |
|||||
q = -3x1 + 6x2 |
→ max |
||||
ì5x1 - 2x2 £ 4;
ï |
|
|
|
|
ï2x2 - x1 £ 4; |
||||
íx + x |
2 |
£ 4; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 3
q= x1 + x2 → max
ìx1 + x2 ³ 1;
ï |
|
- 5x1 ³ 0; |
||
ïx2 |
||||
íx + x |
2 |
£ 6; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 4
q= x1 + x2 → min
ìx1 + x2 ³ 1;
ï |
|
- 5x1 ³ 0; |
||
ïx2 |
||||
íx + x |
2 |
£ 6; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 5 q = x1 + x2 → max
ì5x1 - 2x2 £ 7;
ï |
|
- x1 |
£ 5; |
|
ïx2 |
||||
íx + x |
2 |
£ 6; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 6 q = x1 + x2 → min
ì5x1 - 2x2 £ 7;
ï |
- x1 £ 5; |
|||
ïx2 |
||||
íx + x |
2 |
£ 6; |
||
ï 1 |
|
|
|
|
ïx |
³ 0, |
|
x ³ 0. |
|
î 1 |
|
|
|
2 |
Вариант № 7 |
||||
q = x1 + 2x2 |
→ max |
|||
ì2x1 + x2 |
£ 8; |
|||
ï |
+ x2 |
³ 6; |
||
ïx1 |
||||
í |
|
|
|
|
ï-3x1 + 2x2 ³ 3; |
||||
ïx |
³ 0, |
|
x ³ 0. |
|
î 1 |
|
|
|
2 |
Вариант № 8 |
||||
q = x1 + 2x2 |
→ min |
|||
ì2x1 + x2 |
£ 8; |
|||
ï |
+ x2 |
³ 6; |
||
ïx1 |
||||
í |
|
|
|
|
ï-3x1 + 2x2 ³ 3; |
||||
ïx |
³ 0, |
|
x ³ 0. |
|
î 1 |
|
|
|
2 |
26
Вариант № 9
q = x2 + 2x1 → max
ì2x1 + x2 £ 8;
ï |
+ x2 |
£ 6; |
|
|
ïx1 |
|
|||
í- 3x + 2x |
|
³ 3; |
||
ï |
1 |
2 |
|
|
ïx |
³ 0, |
x |
2 |
³ 0. |
î 1 |
|
|
|
|
Вариант № 10 q = x2 + 2x1 → min
ì2x1 + x2 £ 8;
ï |
+ x2 |
£ 6; |
|
|
ïx1 |
|
|||
í- 3x + 2x |
|
³ 3; |
||
ï |
1 |
2 |
|
|
ïx |
³ 0, |
x |
2 |
³ 0. |
î 1 |
|
|
|
|
Вариант № 11
q = 2x1 + 2x2 → max
ì2x2 - 3x1 £ 6;
ïïx1 + x2 ³ 3;
í
ï0 £ x1 £ 3; ïî0 £ x2 £ 5.
Вариант № 12 q = 2x1 + 2x2 → min
ì2x2 - 3x1 £ 6;
ïïx1 + x2 ³ 3;
í
ï0 £ x1 £ 3; ïî0 £ x2 £ 5.
Вариант № 13
q= 3x1 + 3x2 → max
ìx1 + x2 £ 4; ïï3x1 + x2 ³ 4;
ï
íx1 + 5x2 ³ 4; ïï0 £ x1 £ 3;
ï0 £ x £ 3. î 2
Вариант № 14
q= 3x1 + 3x2 → min
ìx1 + x2 £ 4; ïï3x1 + x2 ³ 4;
ï
íx1 + 5x2 ³ 4; ïï0 £ x1 £ 3;
ï0 £ x £ 3. î 2
27
Вариант № 15 |
Вариант № 17 |
q = x1 - x2 → min |
q = -2x1 + x2 → max |
ì3x + 2x |
|
£ 10; |
ì2x + x |
£ 8; |
|||||
ï |
1 |
|
|
2 |
|
ï |
1 |
2 |
|
í2 |
£ x1 £ 5; |
ïx1 |
+ x2 £ 6; |
||||||
ï |
£ x2 £ .3 |
í |
|
|
³ 3; |
||||
î0 |
ï-3x1 + 2x2 |
||||||||
|
|
|
|
|
|
ïx |
³ 0, |
|
x ³ 0. |
|
|
|
|
|
|
î 1 |
|
|
2 |
Вариант № 16 |
|
|
|
|
|||||
q = x1 - x2 |
→ max |
Вариант № 18 |
|||||||
ì3x + 2x |
2 |
£ 10; |
q = -2x1 + x2 |
→ min |
|||||
ï |
1 |
|
|
|
ì2x1 + x2 £ 8; |
||||
í2 |
£ x1 £ 5; |
|
|||||||
ï0 £ x |
|
£ 3. |
ï |
+ x2 £ 6; |
|||||
2 |
ïx1 |
||||||||
î |
|
|
|
|
í |
|
|
³ 3; |
|
|
|
|
|
|
|
ï-3x1 + 2x2 |
|||
|
|
|
|
|
|
ïx |
³ 0, |
|
x ³ 0. |
|
|
|
|
|
|
î 1 |
|
|
2 |
28
Приложение 2
Исходные данные по выполнению практической работы № 2. Симплекс-метод
Вариант № 1
Найти значение функции q, используя симплекс-метод
q = -3x1 + 6x2 → min
ì5x1 - 2x2 £ 4;
ï |
|
|
|
|
ï2x2 - x1 £ 4; |
||||
íx + x |
2 |
£ 4; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 2
Найти значение функции q, используя симплекс-метод
q = -3x1 + 6x2 → max
ì5x1 - 2x2 £ 4;
ï |
|
|
|
|
ï2x2 - x1 £ 4; |
||||
íx + x |
2 |
£ 4; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 3
Найти значение функции q, используя симплекс-метод
q= x1 + x2 → max
ìx1 + x2 ³ 1;
ï |
|
- 5x1 ³ 0; |
||
ïx2 |
||||
íx + x |
2 |
£ 6; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 4
Найти значение функции q, используя симплекс-метод
q= x1 + x2 → min
ìx1 + x2 ³ 1;
ï |
|
- 5x1 ³ 0; |
||
ïx2 |
||||
íx + x |
2 |
£ 6; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 5
Найти значение функции q, используя симплекс-метод
q = x1 + x2 → max
ì5x1 - 2x2 £ 7;
ï |
|
- x1 |
£ 5; |
|
ïx2 |
||||
íx + x |
2 |
£ 6; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
Вариант № 6
Найти значение функции q, используя симплекс-метод
q = x1 + x2 → min
ì5x1 - 2x2 £ 7;
ï |
|
- x1 |
£ 5; |
|
ïx2 |
||||
íx + x |
2 |
£ 6; |
||
ï |
1 |
|
|
|
ïx |
³ 0, |
x ³ 0. |
||
î |
1 |
|
|
2 |
29
Вариант № 7 |
Вариант № 10 |
||||||
Найти значение функции |
Найти значение функции |
||||||
q, используя симплекс-метод |
q, используя симплекс-метод |
||||||
q = x1 + 2x2 |
→ max |
q = x2 + 2x1 → min |
|||||
ì2x1 + x2 £ 8; |
ì2x1 + x2 £ 8; |
||||||
ï |
+ x2 ³ 6; |
ï |
+ x2 |
£ 6; |
|
||
ïx1 |
ïx1 |
|
|||||
í |
|
|
í |
|
|
|
|
ï-3x1 + 2x2 ³ 3; |
ï- 3x1 + 2x2 ³ 3; |
||||||
ïx ³ 0, x ³ 0. |
ïx ³ 0, |
x |
2 |
³ 0. |
|||
î 1 |
|
2 |
î 1 |
|
|
|
|
Вариант № 8 |
Вариант № 11 |
||||||
Найти значение функции |
Найти значение функции |
||||||
q, используя симплекс-метод |
q, используя симплекс-метод |
||||||
q = x1 + 2x2 |
→ min |
q = 2x1 + 2x2 → max |
|||||
ì2x1 + x2 £ 8; |
ì2x2 - 3x1 £ 6; |
||||||
ï |
+ x2 ³ 6; |
ï |
|
|
|
|
|
ïx1 |
ïx1 + x2 ³ 3; |
|
|||||
í |
|
|
í |
£ x1 |
£ 3; |
|
|
ï-3x1 + 2x2 ³ 3; |
ï0 |
|
|||||
ï |
³ 0, x2 ³ 0. |
ï |
£ x2 |
£ 5. |
|
||
îx1 |
î0 |
|
|||||
Вариант № 9 |
Вариант № 12 |
||||||
Найти значение функции |
Найти значение функции |
||||||
q, используя симплекс-метод |
q, используя симплекс-метод |
||||||
q = x2 + 2x1 → max |
q = 2x1 + 2x2 → min |
||||||
ì2x1 + x2 £ 8; |
ì2x2 - 3x1 £ 6; |
||||||
ï |
+ x2 £ 6; |
ï |
|
|
|
|
|
ïx1 |
ïx1 + x2 ³ 3; |
|
|||||
í |
|
|
í |
£ x1 |
£ 3; |
|
|
ï- 3x1 + 2x2 ³ 3; |
ï0 |
|
|||||
ï |
³ 0, |
x2 ³ 0. |
ï |
£ x2 |
£ 5. |
|
|
îx1 |
î0 |
|
|||||
30
