Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Решение задач линейного программирования в среде wxMaxima. Практикум. Учебное пособие

.pdf
Скачиваний:
0
Добавлен:
09.08.2026
Размер:
433 Кб
Скачать

q = -2 + x4 - x1 ® min;

 

ì x3 = 5 + 3x1

- 2x4;

(1' ' ' )

ï

= 2

+ 2x1

- x4;

(2' ' ' )

íx2

ï

= 1

- 5x1 + x4 .

(3' ' ' )

î x5

Небазисные переменные х1 и х4 приравниваем к нулю, подставляем в получившиеся уравнения и находим значения базис-

 

ных переменных и целевой функции.

Таким образом, получили

 

симплекс-таблицу для третьей базисной точки:

 

 

 

 

х1

 

х2

 

х3

 

х4

 

 

х5

q

 

 

0

 

 

2

 

5

 

0

 

 

1

 

-2

 

 

 

Полученная

базисная

точка

соответствует

координатам

 

точки А(0; 2) (см. рис. 1, с. 5).

 

 

 

 

 

 

 

 

 

 

Так как в полученной целевой функции есть отрицательные

 

коэффициент при х1, то оптимальное решение еще не найдено,

 

поэтому переходим к новому базису.

 

 

 

 

 

 

 

 

5. В соответствии с правилом 1 в базис переводим перемен-

 

ную х1, так как она имеет отрицательный знак в целевой функ-

 

ции. В соответствии с правилом 2:

 

 

 

 

 

 

 

 

a31 = 2

b3 = 5

 

b3/a31 = 5/2;

 

 

 

 

 

 

 

 

a21 = 1 b2 = 2

 

b2/a21 = 2;

 

 

 

 

 

 

 

 

a51 = 5

b5 = 1

 

b5/a51 = 1/5 – min.

 

 

 

 

Из базиса исключаем х5,т. к. ему соответствует минимальное

 

значение.

 

 

 

 

 

 

 

 

 

 

 

 

 

Выражаем переменную x1 из уравнения (3’’’) и подставля-

 

ем в уравнения (1’’’), (2’’’) и целевую функцию:

 

 

 

 

 

 

 

q = -2,2 + 0,8x4 + 0,2x5 ® min;

 

 

 

 

 

 

 

ì x3 = 5,6 - 0,6x5 -1,4x4;

 

 

 

 

 

 

 

ï

= 2,4 - 0,4x5 - 0,6x4;

 

 

 

 

 

 

 

íx2

 

 

 

 

 

 

 

ï

= 0,2 - 0,2x5 + 0,2x4.

 

 

 

 

 

 

 

î x1

 

 

 

 

Небазисные переменные х4 и х5 приравниваем к нулю, под-

 

ставляем в получившиеся уравнения и находим значения базис-

 

ных переменных и целевой функции.

Таким образом, получили

 

симплекс-таблицу для четвертой базисной точки:

 

 

 

 

х1

 

х2

 

х3

 

х4

 

 

х5

 

q

 

 

0,2

 

 

2,4

5,6

0

 

0

 

-2,2

 

 

11

Полученная базисная точка соответствует координатам точки В(0,2; 2,4) (см. рис. 1, с. 5).

Так как в полученная целевая функция не содержит отрицательных коэффициентов при хj, то оптимальное решение найдено.

Ответ: x1=0,2; x2=2,4; q=-2,2.

Задание. Исходные данные - в приложении 2.

1.Привести задачу к каноническому виду.

2.Решить задачу симплекс-методом.

3.Записать результат.

Контрольные вопросы

1.Как записывается каноническая форма задачи линейного программирования?

2.Какие переменные называются базисными?

3.В каком случае решение считается найденным?

4.Всегда ли существует решение задачи линейного программирования? В каком случае у задачи нет решения?

5.Какие значения принимают небазисные переменные в базисной точке?

Практическая работа № 3.

Задача планирования при ограничениях на ресурсы

Цель работы: изучить решение задач моделирования в условиях ограниченности ресурсов.

Порядок выполнения работы

У предприятия есть m видов ресурсов(сырьё, оборудование, рабочая сила и т. д), каждая в количестве bi единиц i = 1,2,...

m. Предприятие выпускает n видов продукции, аij - количество единиц i-го ресурса, необходимого для выпуска 1 ед. j-й продукции. Прибыль от 1 ед. j-й продукции равна сj дол. Продукции j-го вида надо выпускать не менее рj ед.

Определить количество выпускаемой продукции каждого вида, при котором суммарная прибыль максимальна.

12

При составлении модели оптимизации необходимо выполнить три этапа:

1.Определяем значения параметров, которые надо найти (что является входными параметрами). Обозначим их х1, х2, ..., хn.

2.Записываем выражение целевой функции через х1, х2, ..., хn.

3.Записываем выражение для ограничений через х1, х2, ..., хn.

1-й

этап.

Обозначим хj -

объём

выпускаj

продукции

(j = 1,2,...n).

 

 

 

 

2-й этап. Целевая функция - прибыль. От 1 ед. 1-й продук-

ции она равна

с1 $, а от х1 ед. - с1∙х1.

Аналогично от выпуска

х2 ед. 2-й продукции с2∙х2 и т. д. Суммарная прибыль:

 

 

q=с1∙х1 +с2∙х2 +...+сnхn → max.

 

3-й этап. Ограничения.

 

 

 

1. Ограничения на объём выпуска.

 

 

Согласно условию

 

 

 

 

 

хj рj.

 

 

2. Ограничения на ресурсы. На 1 ед. 1-й продукции надо за-

тратить а11

ед.

1-го ресурса, а на выпуск х1 ед. 1-й

продукции

надо а11х1

1-го ресурса:

 

 

 

 

 

а11 х1 + а12 х2

+...+а1n хn b1,

 

 

 

…………………………..

 

 

 

аm1х1 + аm2х2 +...+аmn хn bm.

 

3. По физическому смыслу

хj ≥ 0.

Замечание. Часто в таких задачах исходные данные имеют различные размерности, надо привести всё к одной.

Пример.

Автозавод выпускает две модели автомобилей. При производстве одной машины каждой марки затрачивается:

Марка

Квалифициро-

Неквалифициро-

Сырье,

При-

авто

ванный труд, ч

ванный труд, ч

дол.

быль,

 

 

 

 

дол.

 

 

 

 

 

"Вольво-850"

50

30

1500

1000

"Вольво-940"

20

40

500

500

13

На автозаводе работают1000 квалифицированных и 900 неквалифицированных рабочих, каждый из которых работает40 ч в неделю. Затраты на сырье не должны превышать 900 тыс. дол. в неделю. Рабочие, осуществляющие отправку автомобилей из цеха, работают по пятидневной рабочей неделе с производительностью 210 автомобилей в день. Какой объем продукции даст максимальную прибыль?

1. Определяем входные параметры:

x1 – количество автомобилей "Вольво-850", выпускаемых в неделю;

x2 – количество автомобилей "Вольво-940", выпускаемых в неделю.

2.Выражение для целевой функции: q =1000× x1+ 500× x2 .

3.Ограничения:

50 × x1+ 20× x2 £ 1000 ×

40

= 40.000

- ограничение по ква-

 

рабочих

часов в неделю

часов в неделю

лифицированному труду;

 

 

- ограничение по неква-

30× x1+ 40 × x2 £

900 ×

 

40

=

36.000

 

рабочих

часов в неделю

часов в неделю

 

лифицированному труду;

 

 

 

1500 × x1 + 500 × x2 £ 900.000 - ограничение по сырью;

x1 + x2 £ 210

$ в неделю

1050 - ограничение на доставку

×

5

=

авто в день дней в неделю

авто в неделю

 

авто.

Решение задачи в wxMAXIMA

Вначале необходимо подключить пакет, предназначенный для решения задач линейного программирования simplex:

(%i1) load(simplex);

(%o1)

Затем с помощью функции находим решение задачи maximize_lp (obj, cond, [pos]) ,

где obj — максимизируемая линейная функция; cond — линейные ограничения в виде равенств или неравенств; pos - список переменных решения, которые предполагаются положительными:

14

(%i2)

Q:1000·x1 + 500·x2;

(Q)

maximize_lp(Q,[50·x1 + 20·x2 < = 40000,

(%i3)

 

30·x1 + 40·x2 <= 36000,

 

1500·x1 + 500·x2 <= 900000,

 

x1

+ x2 <= 1050,

 

x1

>= 0, x2 >= 0]);

(%o3).

[700000,[600,400]].

Задание. Исходные данные - в приложении 3.

1.Построить систему ограничений.

2.Записать целевую функцию.

3.Решить задачу с помощью wxMAXIMA.

4.Записать результат.

Контрольные вопросы

1.Какие основные этапы составления модели вы знаете?

2.В чем состоит отличие целых функций прибыли и затрат? 3.Как записать ограничения на ресурсы в общем виде?

4.В чем смысл ограничений на физическую реализацию?

Практическая работа № 4.

Транспортная задача. Задача с процентными долями

Цель работы: изучить способ решения транспортных -за дач, а также задач, содержащих процентные отношения.

Порядок выполнения работы

1. Транспортная задача. Имеется m = 2 пункта производства А1, А2 и n = 3 пункта потребления В1, В2, В3 некоторого продукта. Перевозка из пунктов производства в пункты потребления1 ед. продукции обходится в некоторую сумму, указанную в тарифной матрице (табл. 1).

15

 

 

 

 

 

 

Таблица 1

 

В1

 

В2

В3

 

Производство

 

А1

10

 

5

6

 

50

 

А2

7

 

8

12

 

40

 

Потребление

30

 

30

25

 

 

 

Известно

количество

производимого

продукта в каждом

пункте производства и количество потребляемого в пункте - по требления. Составить план перевозок, при котором затраты минимальны. Нам надо определить, какое количество продукта необходимо перевозить из каждого пункта производства в каждый пункт потребления.

Обозначаем:

x1 – количество продукта, перевозимого из А1 в В1; x2 – из АВ2;

x3 – из А1 в В3; x4 – из А2 в В1; x5 – из А2 в В2; x6 – из А2 в В3.

Общие затраты на перевозку:

q = 10x1 + 5x2 + 6x3 + 7x4 + 8x5 +12x6 → min.

Ограничения.

Ограничения на вывоз: из каждого пункта производства нельзя вывезти больше, чем там производят. Из А1 надо вывезти в В1 – x1 ед., в В2- х2 ед., в В3 – х3 ед. Следовательно: x1+ x2 + + x3 ≤ 50. Аналогично для А2: x4 + x5 + x6 ≤ 40.

Ограничения на привоз: в каждый пункт потребления нельзя привозить меньше, чем там потребляют:

В1: х1 + х4 ≥ 30; В2: х2 + х5 ≥ 30; В3: х3 + х6 ≥ 25.

Справка. Типичная ошибка: при составлении модели коэффициенты целевой функции матрицы (тариф на перевозку 10, 5 и т. д.) заносят в ограничения. Следует помнить, в ограничениях на ввоз-вывоз коэффициенты могут быть равны только 1 или 0, а тарифные коэффициенты встречаются только в целевой функции.

16

2. Задачи с процентными долями. Завод выпускает два изделия И1 и И2, исходные данные в табл. 2.

 

 

 

 

Таблица 2

Показатель

Затраты на одно из-

Ресурс

 

 

 

делие

 

 

 

И1

 

И2

 

 

Трудозатраты, чел. дн.

2

 

3

60

 

 

 

 

 

 

 

Сырье, кг

20

 

10

300

 

 

 

 

 

 

 

Прибыль, тыс. р.

50

 

50

 

 

 

 

 

 

 

 

По решению профсоюза трудозатраты на И2 должны составлять не более 50 % от общих трудозатрат. Составить наиболее прибыльный план выпуска изделий.

Обозначаем: х1 – выпуск И1; х2 – выпуск И2. Прибыль от выпуска изделий: q= 50 x1 + 50 x2 → max.

Ограничения на использование ресурсов: 2∙х1 + 3∙х2 ≤ 60; 20∙х1 + 10∙х2 ≤ 300.

Ограничения на процентные доли. Поскольку заранее неизвестно, будет ли полностью израсходован ресурс на трудозатраты, то нельзя записать: трудозатраты на И2 ≤ 50.

Поступим следующим образом. Обозначим: t - общие трудозатраты. Тогда трудозатраты на 2И≤ 0,5∙t. Следовательно,

3∙х2 ≤ 0,5∙(2∙х1+3∙х2).

Отсюда имеем:

-х1 + 1,5∙ х2 ≤ 0.

Получим окончательный вариант модели:

2∙х1 + 3∙х2 ≤ 60; 20∙х1 + 10∙х2 ≤ 300; -х1 + 1,5∙х2 ≤ 0;

q = 50∙ x1 + 50∙ x2 → max.

Пример.

1. Транспортная задача:

(%i1) load(simplex);

(%o1)

Затем с помощью функции находим решение задачи

17

minimize_lp (obj, cond, [pos])

где obj — минимизируемая линейная функция; cond — линейные ограничения в виде равенств или неравенств; pos - список переменных решения, которые предполагаются положительными:

(%i2)

Q:10·x1+5·x2+6·x3+7·x4+8·x5+12·x6;

(Q)

minimize_lp(Q,[x1+x2+x3 <= 50,

(%i3)

 

x4+x5+x6 <= 40,

 

x1+x4 >= 30,

 

x2+x5 >= 30,

 

x3+x6 >= 25,

 

x1

>= 0, x2 >= 0,

 

x3

>= 0, x4 >= 0,

 

x5

>= 0, x6 >= 0]);

(%o3)

 

 

2. Задачи с процентными долями

(%i1) load(simplex);

(%o1)

 

Затем с помощью функции maximize_lp находим решение

задачи:

(%i2)

Q:50·x1+50·x2;

(Q)

maximize_lp(Q,[2·x1+3·x2 <= 60,

(%i3)

 

20·x1+10·x2 <= 300,

 

x1+1.5·x2 <= 0], [x1,x2]);

(%o3)

 

Задание. Исходные данные - в приложении 4.

1.Построить систему ограничений.

2.Записать целевую функцию.

3.Решить задачу с помощью wxMAXIMA.

4.Записать результат.

18

Контрольные вопросы

1.Каков общий алгоритм разработки модели решения задачи?

2.Что такое область допустимых решений? Как она определяется в задаче?

3.Что такое целевая функция?

4.Каков алгоритм решения задачи в wxMAXIMA?

Практическая работа № 5.

Комплекты и пропорции. Выпуск разнородной продукции на одном оборудовании

Цель работы: изучить способы решения задач линейного программирования с комплектами и пропорциями, а также при выпуске разнородной продукции на одном оборудовании.

Порядок выполнения работы

1. Комплекты и пропорции. Завод выпускает два изделия U1 и U2. Затраты ресурсов даны в таблице.

Таблица

Показатель

Затраты на 1 изделие

Ресурс

 

U1

 

U2

 

 

 

 

 

Трудозатраты

2

 

3

60

 

Сырье

20

 

10

450

 

 

 

 

 

 

При производстве 1 ед. изделия U2 получается 9 ед. скоро-

портящегося продукта А, который

частично

используется для

производства U1 в количестве 2 ед. на 1 ед. продукции, а остальная часть уничтожается. Производственные мощности позволяют уничтожить не более 36 ед. продукта А.

Определить оптимальный выпуск U1 и U2, если:

1) изделия входят в комплект в количестве 3 шт. U1 и 2 шт. Надо максимизировать число комплектов.

Обозначим: х1 – выпуск U1, х2 – выпуск U2, х3 – количество комплектов.

Ограничения на ресурс: 2х1 + 3х2 £ 60; 20х1+ 10х2 £ 450.

19

Ограничения на уничтожение: продукт А переработка

9х2 - 2х1 £ 36.

Ограничение на комплектность:

х1 ³ 3∙х3; х2 ³ 2∙х3.

Целевая функция: q = х3 → max. Полученные ограничения:

ì 2 x1 + 3 x 2 £ 60 ;

ïï

20 x1 + 10 x 2 £ 450 ;

ï

- 2 x1 + 9 x 2 £ 36;

í

ï

x1

- 3 x3 ³ 0;

ï

x1

- 2 x3 ³ 0;

ï

î

 

 

2) количество изделий U1 uU2 должно выпускаться в пропорции 3:2. Максимизировать суммарный выпуск изделий.

Обозначим х1 – выпуск U1, х2 – выпуск U2. Ограничение на ресурс и на уничтожение: Ограничения на ресурс:

2∙х1 + 3∙х2 £ 60; 20∙х1+ 10∙х2 £ 450.

Ограничения на уничтожение:

продукт А

переработка

9∙х2

-

2∙х1 £ 36.

Ограничение на пропорцию:

U1 = x1 = 3 Þ 2x1 - 3x2 = 0 . U 2 x2 2

Целевая функция: q = x1+x2®max.

Пример

1. Комплекты и пропорции:

(%i1) load(simplex);

20

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]