
1017
.pdfGiven
(2.5 x1 x2 x3) 75 (1.5 x1 2 x2 x4)
66
75
Find(x2 x4)
84
x1 |
0 |
x2 |
0 |
x3 |
1 |
x4 |
1 |
Given
(2.5 x1 x2 x3) 75 (1.5 x1 2 x2 x4)
66
75
Find(x3 x4)
66
Запишем ЗЛП в системе MathCAD в канонической форме в матричном виде (C, X ) max:
x1 A1 x2 A2 x3 A x4 A4 |
|
|
B |
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
Здесь C 150,100, 0, 0 , |
X |
x1, x2, x3, x4 . |
|
|
|
|
|
|
|
|
|||||||||||
|
|
2.5 |
|
|
1 |
|
|
|
|
1 |
|
|
0 |
|
|
75 |
|||||
A1 |
|
|
|
A2 |
|
|
|
|
|
A3 |
|
|
|
A4 |
|
|
|
B |
|
|
|
|
|
|
|
|
|
|
|||||||||||||||
|
|
1.5 |
|
|
|
2 |
|
|
|
|
|
0 |
|
|
|
1 |
|
|
|
66 |
|
Допустимыми, |
а также |
опорными |
являются |
решения (30, 0, 0, 21); |
(0, 33, 42, 0); (24,15, 0, 0); (0, 0, 75, 66) , посколькуонинеотрицательныиоб-
разуют систему независимых линейных векторов.
Симплексный метод решения ЗЛП
Предположим, что ЗЛП приведена к канонической форме
n |
|
f (x) ci xi max, |
|
i 1 |
xi D |
a11 x1 a12 x2 ... a1n xn b1,
(2.7)
am1 x1 am2 x2 ... amn xn bm ,
x j 0, j 1, ..., n.
31

Алгоритм симплекс-метода Алгоритм симплекс-метода состоит в последовательном переборе ба-
зисных решений, определяющих крайние точки многогранника решений. Переход от одного базисного решения к другому (от одной крайней точки к другой) осуществляется таким образом, чтобы значение f (x) возрастало от
итерации к итерации.
1. Находим ранг r системы (2.7). Предположим, что r n . Запишем систему ограничений и целевую функцию в виде:
k
xk i i ij x j ; i 1, , r; k n r;
j 1
k
f 0 j x j ,
j 1
где ij , i , 0 , j – некоторые константы, полученные в результате преоб-
разований функций ограничений и целевой функции.
2. Составляем исходную симплекс-таблицу (табл. 8), состоящую из ( m 1) строк (m – количество уравнений ограничений плюс одна строка для целевой функции) и ( n 1) столбцов (n – количество свободных переменных плюс один столбец для правых частей ограничений).
|
|
|
|
|
|
|
Таблица 8 |
|
Базис |
|
x1 |
… |
xs |
… |
x j |
… |
xm |
xm 1 |
1 |
11 |
… |
1s |
… |
1j |
… |
1m |
|
|
|
|
|
|
|
|
|
xm l |
l |
l1 |
… |
ls |
… |
lj |
… |
lm |
|
|
|
|
|
|
|
|
|
xm i |
i |
i1 |
… |
is |
… |
ij |
… |
im |
|
|
|
|
|
|
|
|
|
xn |
r |
r1 |
… |
rs |
… |
rj |
… |
rm |
f |
γ0 |
γ1 |
… |
γs |
… |
γj |
… |
γm |
3. Выбираем генеральный элемент ij в соответствии с правилами:
–выбираем положительный коэффициент целевой функции (любой по- ложительныйэлементвпоследнейстрокесимплекс-таблицы, кромесвобод-
ного члена γ0), например элемент j-го столбца γj. Если положительных элементов нет, то записанное в симплекс-таблице базисное решение будет оп-
тимальным;
–из столбца j выбираем строки l, для которых lj 0 , и находим отно-
шения l ;
lj
32
– выбираем из этих отношений наименьшее, например |
l |
(если |
|
||
|
lj |
наименьшее отношение достигается при нескольких значениях l, то можно взять любое).
Элемент lj – генеральный.
4. Переходим от табл. 8 к табл. 9.
Преобразуем столбец j путем деления всех коэффициентов в этом столбце, кроме генерального элемента, на значение генерального элемента со знаком « – ».
Преобразуем строку i путем деления всех коэффициентов в этой строке, кроме генерального элемента, на значение генерального элемента со знаком
« + ».
Обозначим |
|
1 |
. Запишем значение в ячейку генерального эле- |
|||||||||||
|
|
|
||||||||||||
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
ij |
|
|
|
|
|
|
|
мента. |
|
|
|
|
|
|
|
|
|
|
|
|
Таблица 9 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
x1 |
… |
xs |
… |
x j |
… |
xk |
xm 1 |
1 i 1 j |
11 i1 1 j |
… |
1s is 1 j |
… |
– 1j |
… |
1m im 1 j |
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xm l |
l |
i lj |
|
l1 il lj |
… |
ls is lj |
… |
– lj |
… |
lm im lj |
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xn |
|
i |
|
|
|
|
|
i1 |
… |
is |
… |
|
… |
im |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
xr |
r |
i rj |
r1 i1 rj |
… |
rs is rj |
… |
– rj |
… |
rm im rj |
|||||
f |
0 i j |
|
|
1 i1 j |
… |
s is j |
… |
– γj |
… |
m im j |
Преобразуемкоэффициентывоставшихсяячейках таблицыпо правилу: иззначениякоэффициентасоответствующейячейки rs (сномерамистроки
r и столбца s) вычитаем произведение коэффициента, находящегося в этой жестрокеr ивстолбцеj генеральногоэлемента( rj ), икоэффициента, нахо-
дящегося в этой же строке i генерального элемента и в столбце s ( ir ).
5. Повторяем пп. 3–4 до получения оптимального решения (признак оптимальности решения – в п.3).
Замечание. Если впоследнейстрокесимплекс-таблицыимеетсяполо- жительный элемент, но в соответствующем столбце нет положительных чисел, это значит, что целевая функция не ограничена сверху (не имеет максимума).
33
Пример 8.
Решить симплекс-методом ЗЛП:
(6x1 4x2 ) max,
x
15x |
2x |
|
300; |
||
|
1 |
|
|
2 |
306; |
12x1 |
6x2 |
||||
|
|
|
|
|
360; |
3x1 12x2 |
|||||
x |
0, |
x |
2 |
0. |
|
1 |
|
|
|
|
Решение.
Ограничения в виде неравенств заменим равенствами, введя переменные x3 , x4 и x5 ; получим систему уравнений вида
|
|
|
15x |
|
2x |
2 |
x |
3 |
|
|
|
|
300; |
|
|
||||||||
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
12x1 6x2 |
|
|
|
x4 |
|
306; |
|
|
||||||||||||
|
|
|
|
|
|
12x2 |
|
|
|
|
|
|
x5 |
360. |
|
|
|||||||
Ранг матрицы |
|
|
3x1 |
|
|
|
|
|
|
|
|
||||||||||||
|
|
15 |
|
2 |
1 |
|
0 |
|
|
0 |
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
|
|
|
|
|
|
|
|
|
0 1 |
|
|
0 |
|
r 3. |
|
|
|
|
|||||
|
|
|
12 6 |
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
3 |
|
|
12 |
0 |
|
0 |
|
|
1 |
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
k n r 2. |
|||||||
Число неизвестных n 5 , |
число свободных неизвестных |
||||||||||||||||||||||
Выберем в качестве свободных неизвестных x1 |
и x2 . |
|
|
|
|
||||||||||||||||||
|
15 |
|
|
|
|
2 |
|
|
|
|
1 |
|
|
0 |
|
0 |
|
||||||
A1 |
|
|
A2 |
|
|
6 |
|
A3 |
|
0 |
|
|
|
|
1 |
|
|
0 |
|
||||
12 |
, |
|
|
, |
|
, A4 |
|
, |
B |
. |
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
|
|
|
|
0 |
|
|
1 |
|
|
|
3 |
|
|
|
12 |
|
|
|
|
|
|
|
|
|
|
|
|
Векторы A3 , A4 , A5 образуют базис. Тогда за опорное можно принять
решение (0; 0; 300; 306; 360).
1. Запишем систему ограничений и целевую функцию в виде
x3 300 (15x1 2x2 );x4 306 (12x1 6x2 );
x5 360 (3x1 12x2 );
f(6x1 4x2 ) min.
2.Заполним симплекс-таблицу (табл. 10).
34
|
|
|
|
|
Таблица 1 0 |
|
|
|
|
|
x1 |
x2 |
|
x3 |
300 |
|
15 |
|
2 |
|
20 |
1/15 |
2/15 |
||||
|
||||||
x4 |
306 |
12 |
|
6 |
||
66 |
|
|
–12/15 |
4,4 |
||
|
|
|
||||
x5 |
360 |
3 |
|
12 |
||
300 |
|
|
–3/15 |
1,6 |
||
|
|
|
||||
f |
0 |
6 |
|
4 |
||
–120 |
|
|
–6/15 |
3,2 |
||
|
|
|
Найдем генеральный (ведущий) элемент.
Из положительных коэффициентов целевой функции выберем 6. Для всех положительных коэффициентов этого столбца x1 найдем отношения
свободных членов к соответствующим коэффициентам. Получаем:
|
|
1 |
300 20; |
2 |
|
|
306 |
25,5; |
3 |
|
|
360 120. |
|
|
|
|
|
|
|
|
11 |
|
|
12 |
31 |
|
|
|
|
|
|||||||
|
|
15 |
21 |
|
|
|
3 |
|
|
|
|
|
||||||
Наименьшее из этих отношений соответствует |
|
строке x3 ; следова- |
||||||||||||||||
тельно, генеральный элемент |
ij |
15 |
(выделяем |
|
его), |
1 |
|
|
1 |
, |
||||||||
|
ij |
15 |
||||||||||||||||
i 1, |
j 1. |
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Нижниечисла в ячейкахзаполняемв соответствиис симплекс-таблицей 4. Заполняем столбец и строку с генеральным элементом, затем – столбец свободных членов по формуле l i lj :
306 |
1 |
300 12 66; 360 |
|
1 |
|
300 3 300; |
0 |
1 |
300 6 120. |
|||||
|
|
|
|
|||||||||||
15 |
|
|
|
15 |
|
|
15 |
|
||||||
Остальные ячейки заполняем по формуле l1 |
il lj : |
|||||||||||||
6 |
1 |
12 2 4,4; 12 |
|
1 |
3 2 11,6; |
4 |
1 |
6 2 3,2. |
||||||
|
|
|
||||||||||||
15 |
|
15 |
|
15 |
|
|
||||||||
Стрелки при переменных указывают на то, что x1 |
из свободных неиз- |
|||||||||||||
вестных переходит в базисные, а x3 |
– из базисных в свободные. |
Переходим от табл. 10 к табл. 11 по правилам работы с симплекс-табли- цами.
35

|
|
|
|
|
|
Таблица 1 1 |
||
|
|
|
x3 |
|
|
|
x2 |
|
x1 |
20 |
18 |
1/15 |
1/11 |
2/15 |
–1/33 |
||
|
|
|
|
|
||||
|
|
|
|
|
|
|||
x4 |
66 |
15 |
–0,8 |
–2/11 |
|
4,4 |
|
5/22 |
|
|
|
|
|
||||
|
|
|
|
|
|
|||
x5 |
300 |
126 |
–0,2 |
21/11 |
1,6 |
|
–29/11 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|||
f |
–120 |
–168 |
–0,4 |
2/11 |
3,2 |
|
–8/11 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
Как видно из табл.11, генеральным элементом является элемент 4,4. Неизвестная x2 из свободных неизвестных переходит в базисные, а x4 – из ба-
зисных в свободные. |
|
|
|
|
|
|
Строим табл. 12. |
|
|
|
|
Таблица 1 2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
x3 |
x4 |
x1 |
18 |
|
1/11 |
|
–1/33 |
|
|
12 |
|
|
–1/21 |
2/21 |
|
|
|
|
|
|||
x2 |
15 |
|
|
–2/11 |
5/22 |
|
|
27 |
2/21 |
–1/42 |
|||
|
|
|||||
x5 |
126 |
|
|
21/11 |
|
–29/11 |
|
66 |
11/21 |
–29/21 |
|||
|
|
|||||
f |
–168 |
|
2/11 |
|
–8/11 |
|
|
–180 |
|
|
–2/21 |
–10/21 |
|
|
|
|
|
Как видно из табл. 12, генеральным элементом является элемент 21/11. Неизвестная x3 из свободных неизвестных переходит в базисные, а x5 – из
базисных в свободные.
Строим табл. 13. В ней все коэффициенты при неизвестных в последней строке отрицательны. Следовательно, базисное решение, отвечающее дан-
ному выбору свободных неизвестных x5 |
и x4 , является оптимальным. |
|||
|
|
|
|
Таблица 1 3 |
|
|
|
x5 |
x4 |
x1 |
12 |
|
–1/21 |
2/21 |
x2 |
27 |
|
2/21 |
–1/42 |
x3 |
66 |
|
11/21 |
–29/21 |
f |
–180 |
|
–2/21 |
–10/21 |
36

Поскольку в базисном решении свободные неизвестные имеют нулевые значения x4 x5 0 , то значения базисных неизвестных и целевой функции
равны свободным членам.
Оптимальное решение (12; 27; 66; 0; 0).
Минимальное значение функции fmin 180, а максимальное fmax 180.
Порядок выполнения работы
В процессе проведения лабораторной работы студент должен выполнить следующие задания:
1.Ознакомиться с теоретическим материалом.
2.Составить смесь, содержащую три химических вещества: S1 , S2 , S3 .
Известно, что составная смесь должна содержать вещества Si не менее bi ( i 1,2,3) единиц.
Вещества Si содержатсявдвухпродуктах Pj ( j 1,2) вконцентрациях ai j . Стоимость единицы продуктов P1 и P2 составляет соответственно C1 и
C2 рубля.
Смесь следует составить так, чтобы стоимость используемых продуктов была наименьшей. Исходные данные для каждого варианта приведены в табл. 14.
|
|
|
|
|
|
|
|
|
Таблица 1 4 |
|
Виды пита- |
Количество пи- |
Минимальная |
|
Стоимость еди- |
||||||
тательных веществ |
норма пита- |
|
ницы продукта |
|||||||
тельных ве- |
|
|
|
|
|
|
тельных ве- |
|
|
|
|
|
|
|
|
|
|
|
|
||
ществ |
P1 |
P2 |
|
C1 |
C2 |
|||||
ществ |
|
|||||||||
|
|
|
|
|
|
|
|
|
|
|
S1 |
|
т |
|
т |
|
т 1 |
|
|
|
|
3 |
|
10 |
|
|
т |
т |
||||
|
|
|
|
|
||||||
S2 |
|
т |
|
|
т |
т |
|
|||
10 |
|
2 |
|
4 |
6 |
|||||
|
|
|
|
|||||||
S3 |
|
т |
|
|
т |
т 1 |
|
|
|
|
10 |
|
6 |
|
|
|
|
||||
|
|
|
|
|
|
|
3. Записать математическую постановку ЗЛП.
4. Решить задачу на компьютере с помощью системы Mathcad или MS Excel.
5. Найти опорное решение.
6. Решить задачу графическим и симплекс-методом.
7. Сравнить и интерпретировать результаты решения.
8. Показать, что найденное решение является опорным.
9. Составить отчет.
10.Защитить работу.
37
Контрольные вопросы
1.Какие встроенные функции существуют для минимизации функции в
MS Excel и в системе MathCAD?
2.Как представить ЗЛП в канонической форме?
3.Какие типичные ЗЛП Вам известны?
4.Вкакомквадрантекоординатнойплоскостинаходятсяопорныерешения ЗЛП?
5.В каком квадранте координатной плоскости находится оптимальное решение ЗЛП?
6.Что представляют собой графики функций ограничений ЗЛП?
7.Какие аналитические методы решения ЗЛП Вам известны?
8.Почему нельзя найти min линейной целевой функции методом приравнивания к нулю частных производных и решения соответствующей системы?
38
Раздел 3. ЭЛЕМЕНТЫ ВЫПУКЛОГО ПРОГРАММИРОВАНИЯ
Лабораторная работа 4.
Решение задачи выпуклого программирования
Целью проведения студентом лабораторной работы является:
– формирование умения и навыков решения задач выпуклого программирования.
Теоретические основы
Множество X Rn называетсявыпуклым, есливместеспаройточеконо содержит отрезок, их соединяющий.
Функция f (x) , определенная на некотором выпуклом множестве X, называется выпуклой, если для любых точек x1 , x2 X и для любого значения [0,1] выполняется неравенство
f ( x1 (1 ) x2 ) f (x1) (1 ) f (x2 ) .
Если неравенство строгое, то функция называется строго выпуклой: f x1 1 x2 f x1 1 f x2 .
Если неравенство нестрогое, но развернуто в другую сторону, то функция называется вогнутой:
f x1 1 x2 f x1 1 f x2 ,
для строгого неравенства – строго вогнутой:
f x1 1 x2 f x1 1 f x2 .
Можно доказать, что функция является выпуклой тогда и только тогда, когда для любой пары точек из области определения выполняется неравенство
|
1 |
x |
1 |
x |
|
|
|
1 |
f x |
|
1 |
f x |
|
. |
f |
2 |
2 |
|
|
2 |
2 |
|
|||||||
|
1 |
|
2 |
|
|
1 |
|
|
2 |
|
Квадратичной формой относительно переменных x1 , x2 , , xn называ- ется числовая функция от этих переменных, имеющая вид
|
n |
n |
f c11 x1 x1 c12 x1 x2 cij xi x j . |
||
|
i 1 |
j 1 |
Квадратичная форма называется положительно (отрицательно)-опре- |
||
деленной, если f (x) 0 |
( f (x) 0) для всех значений переменных |
x (x1, x2 , , xn ) , кроме x 0 .
Квадратичная форма называется положительно (отрицательно)-полу-
определенной, если f (x) 0 ( f (x) 0) для любого набора значений пере-
39
менных x (x1, x2 , , xn ) и, кроме того, существует такой набор переменных x (x1 , x2 , , xn ) , где не все значения переменных одновременно равны нулю, что f (x ) 0 .
Квадратичная форма является выпуклой функцией, если она положи- тельно-полуопределенная, ивогнутойфункцией, еслионаотрицательно-по- луопределенная.
Теоремы о выпуклых функциях
Будем рассматривать функции f x , выпуклые на выпуклом множестве
X Rn .
Теорема 1.
Выпуклаяфункция, заданнаянанекоторомвыпукломмножестве, непрерывна в любой его внутренней точке.
Условие для непрерывности функции: lim f (x) f (x0 ) .
x x0
Теорема 2.
Выпуклая функция f (x) , определенная на некоторомвыпуклом множе-
стве, имеетвлюбойвнутреннейточкеэтогомножествапроизводнуюполюбому направлению.
f |
lim |
|
f x s f x |
– производная по направлению s. |
|
s |
|
|
|
||
0 |
|
||||
Теорема 3. |
|
||||
Функция |
f (x) , дифференцируемая в точке x на выпуклом замкнутом |
множестве X , выпукла в том и только в том случае, если для любой пары точек x, y X выполняется неравенство
( f (x), y x) f ( y) f (x).
Теорема 4.
Локальныйминимум x* X выпуклойфункции f (x) навыпукломмножестве X совпадает с ее глобальным минимумом.
Теорема 5. Система неравенств
gi (x) 0, i 1, ..., m,
где gi – вогнутые функции, определяет выпуклое множество
X x : gi (x) 0, i 1, ..., m .
Теорема 6.
Функция f (x) , определенная и дважды дифференцируемая на выпуклом множестве X , выпукла тогда и только тогда, когда матрица Гёссе этой
40