13 |
|
................................................. |
(4) |
am1x1 + am2x2 + ..... |
+ amnxn bm, ym |
xj
0 (j=1,..., m)
Каждому ограничению ставится в соответствие переменная двойственной задачи. Двойственная задача имеет вид
W = b1y1 + b2y2 + |
...... |
+ bmym |
min |
|
|
|
|
|
|
a11y1 + a21y2 + |
...... |
+ am1ym |
c1, |
x1 |
a12y1 + a22y2 + |
...... |
+ am2ym |
c2, |
x2 |
............................................... |
|
|
|
(5) |
a1ny1 + a2ny2 + ...... |
+ amnym |
cn, |
xn |
|
yi 0 |
(i=1,....,m) |
|
|
|
Задачи (4) – (5) обладают следующими свойствами:
1.В одной задаче целевая функция стремится к максимуму, в другой – к минимуму.
2.Число неизвестных одной задачи равно числу ограничений другой задачи.
3.В каждой задаче система ограничений задается в виде неравенств, причем все они одного смысла, а именно: при нахождении максимума
целевой функции эти неравенства имеют вид , а при нахождении минимума – вид .
4.Свободные члены ограничений исходной задачи являются коэффициентами целевой функции двойственной задачи, а коэффициенты целевой функции исходной задачи – свободные члены ограничений двойственной задачи.
5. Матрицы коэффициентов при переменных в системах ограничений (4) –
(5) транспонированы относительно друг друга.
Задачи линейного программирования, удовлетворяющие перечисленным условиям, называются симметричными взаимно двойственными задачами.
Пример. Составить к данной задаче двойственную
Z = 5x1 + 2x2 max
8x1 + 7x2
417, y1
14x1 + 8x2
580, y2
14x1 + x2
591, y3
x1 0, x2 0 |
|
|
|
Получим: |
|
|
|
w = 417y1 +580y2 +591y3 |
|
min |
|
8y1 + 14y2 +14y3 |
5 |
|
x1 |
|
|||
7y1 + 8y2 + y3 |
2 |
|
x2 |
|
|||
14
yi
0 (i=1, 2, 3)
Решим исходную задачу симплексным методом
cj |
базис |
аi0 |
5 |
2 |
0 |
0 |
0 |
|
|
|
(xj) |
|
х1 |
х2 |
х3 |
х4 |
х5 |
|
|
0 |
x3 |
417 |
8 |
7 |
1 |
0 |
0 |
417/8=52 1/8 |
|
0 |
x4 |
580 |
14 |
8 |
0 |
1 |
0 |
580/14=41 3/7 |
|
0 |
x5 |
591 |
14 |
1 |
0 |
0 |
1 |
591/14=42 314 |
|
|
z |
0 |
-5 |
-2 |
0 |
0 |
0 |
|
|
0 |
x3 |
599/7 |
0 |
17/7 |
1 |
-4/7 |
0 |
|
|
5 |
x1 |
580/14 |
1 |
4/7 |
0 |
1/14 |
0 |
|
|
0 |
x5 |
11 |
0 |
-7 |
0 |
-1 |
1 |
|
|
|
z |
1450/7 |
0 |
6/7 |
0 |
5/14 |
0 |
|
|
|
|
|
|
|
y1 |
y2 |
y3 |
|
|
Между переменными задач (4)-(5) существует взаимно-однозначное
соответствие: |
|
|
|
|
x1 |
x2 |
... xn |
xn+1 ... xn+m |
|
|
|
|
|
|
ym+1 |
ym+2 |
... ym+n |
y1 |
... ym |
Если одну из задач решаем симплексным методом, то компоненты оптимального решения двойственной задачи равны соответствующим оценкам в последней таблице плюс cj, стоящее над столбцом.
|
|
zmax |
1450 |
|
при |
x* |
|
290 |
;0; |
599 |
;0;11 |
||||||||||
|
|
|
7 |
|
|
|
7 |
|
7 |
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||||
Следовательно, для двойственной задачи |
|
|
|
|
|||||||||||||||||
|
|
1450 |
|
|
|
|
|
|
|
5 |
|
|
|
||||||||
|
W |
|
|
при |
y* |
0; |
;0 |
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
||||||||||||
|
|
min |
|
7 |
|
|
|
|
|
|
|
14 |
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||||||
Проверка. W |
|
0 417 580 |
5 |
591 0 |
|
1450 |
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||
min |
|
|
|
|
|
|
14 |
|
|
|
7 |
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
4. Транспортная задача
Постановка задачи. Требуется найти план перевозок однородного груза из пунктов А1,...,Аm, содержащих соответственно а1, а2, ...., аm единиц груза, в пункты В1, В2, ... , Вn в количествах b1, b2, ... , bn соответственно, при котором суммарные транспортные затраты будут наименьшими.
Известны сij – затраты на перевозку 1 единицы груза из пункта Аi и Bj. Транспортная задача называется закрытой, если
15 |
|
m |
n |
ai |
b j. |
i 1 |
j 1 |
Теорема. Число базисных неизвестных транспортной задачи равно m+n-1.
Чтобы решить транспортную задачу, необходимо прежде всего найти исходный план. При этом используются два метода: метод ''северозападного угла'' или метод наименьшего элемента.
По методу ''северо-западного угла'' необходимо удовлетворить потребность пункта В1 за счет А1. Если a1>b1, то в клетку А1В1 записываем b1 и этот пункт из рассмотрения исключаем, при этом запоминаем, что в пункте А1 осталось а1-b1 единиц груза. Если же а1<b1, то записываем а1 в А1В1 и исключаем пункт А1. Если же а1=b1, то это число записываем в А1В1, а в следующую (по строке или столбцу) клетку записываем ноль и исключаем пункты А1 и В1. Продолжаем распределять груз до получения допустимого плана.
Пример.
Bj В1 |
|
В2 |
|
В3 |
|
В4 |
|
В5 |
|
Аi |
|
50 |
|
100 |
|
125 |
|
75 |
50 |
A1 |
|
4 |
|
5 |
|
3 |
|
7 |
2 |
100 |
50 |
|
50 |
|
|
|
|
|
|
A2 |
|
2 |
|
3 |
|
8 |
|
7 |
5 |
50 |
|
|
50 |
|
|
|
|
|
|
A3 |
|
4 |
|
2 |
|
4 |
|
3 |
6 |
150 |
|
|
0 |
|
125 |
|
|
25 |
|
A4 |
|
6 |
|
4 |
|
5 |
|
3 |
5 |
100 |
|
|
|
|
|
|
|
50 |
50 |
Число базисных клеток m+n-1=4+5-1=8. |
|
|
|
|
|||||
Затраты на данный план |
|
|
|
|
|
|
|
||
z |
50 4 |
50 5 |
50 3 |
125 4 |
25 3 |
50 3 |
50 5 |
1575. |
|
Метод наименьшего элемента учитывает затраты на перевозку. |
||||||||
Выбираем клетку с наименьшим тарифом (если таких клеток несколько, |
||||||||
выбираем любую) и записываем в эту клетку максимально возможную |
||||||||
поставку, исключаем один из пунктов или Аi, или Bj. Если же исключается |
||||||||
два пункта одновременно, то записываем в рядом стоящую клетку ноль. |
||||||||
Пример. |
|
|
|
|
|
|
|
|
Bj В1 |
В2 |
В3 |
|
В4 |
В5 |
|
Ui |
|
Аi |
|
50 |
100 |
125 |
|
75 |
50 |
|
A1 |
|
4 |
5 |
3 |
|
7 |
2 |
U1=0 |
100 |
5 |
5 |
|
50 |
6 |
|
350 |
|
A2 |
|
2 |
3 |
8 |
|
7 |
5 |
U2=3 |
50 |
50 |
0 |
2 |
|
3 |
0 |
|
|
16
A3 |
|
4 |
|
2 |
|
|
4 |
|
|
|
3 |
|
6 |
U3=2 |
|
|
|
|
|
|
|
|
|
||||||
150 |
3 |
|
100 |
-1 |
+ |
|
|
-50 |
|
|
2 |
|
|
|
A4 |
|
6 |
|
4 |
|
|
5 |
|
|
|
3 |
|
5 |
U4=2 |
100 |
5 |
|
2 |
|
|
75- |
|
|
+25 |
|
|
1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Vj |
V1= -1 |
V2=0 |
V3=3 |
|
|
V4=1 |
|
|
V5=2 |
|
||||
Число заполненных клеток m+n-1=8. Затраты |
|
|
|
|
||||||||||
|
z |
50 3 |
50 2 |
50 2 |
100 2 |
50 3 |
75 5 |
|
25 3 |
1150. |
|
|||
Транспортная задача решается методом потенциалов. Каждой строке таблицы и каждому столбцу ставится в соответствие число, называемое потенциалом.
Алгоритм метода потенциалов
1. Потенциалы строк - Ui и столбцов - Vj удовлетворяют следующему условию: Ui + Vj = Cij для базисных переменных. Так как система для определения потенциалов содержит на одно уравнение меньше, чем число потенциалов, то, чтобы найти решение системы потенциалов, один потенциал задаем произвольно, например, U1=0.
Остальные потенциалы найдем, решая систему уравнений
U1 |
V3 |
3 |
|
|
|
|
|
U1 |
V5 |
2 |
|
|
V1 |
1 |
|
U2 |
V1 |
2 |
U1 |
0 |
|||
V2 |
0 |
||||||
U2 |
V2 |
3 |
U2 |
3 |
|||
V3 |
3 |
||||||
U3 |
V2 |
2 |
U3 |
2 |
|||
V4 |
1 |
||||||
U3 |
V4 |
3 |
U4 |
2 |
|||
V5 |
2 |
||||||
U4 |
V3 |
5 |
|
|
|||
|
|
|
|
||||
U4 |
V4 |
3 |
|
|
|
|
2. Определяем характеристики для свободных неизвестных (пустых клеток).
Eij = Cij – (Ui + Vj) и записываем их в левом нижнем углу свободных клеток. План будет оптимален, если для всех свободных неизвестных
Eij 0. |
|
|
|
|
|
E11 = 4- (0-1) > 0, |
E12 |
= 5 - (0-0) > 0, |
E13=3 - (0+1) = -2, |
||
E14 |
= 7- (6-3) > 0, |
E23 |
= 8- (3+3) |
> 0, |
E24=7-(3+1)>0, E25=5-(3+2)=0 |
E31 |
= 4- (2-1) > 0, |
E33 |
= 4- (2+3) |
= -1, |
E35=6-(2+2)>0, |
E41 |
= 6- (2-1) > 0, |
E42 |
= 4- (2+0) |
> 0, |
E45=5-(2+2)>0. |
Так как E33 отрицательна, то план не является оптимальным.
3. Выбираем клетку (3.3) с отрицательной характеристикой и строим контур (цикл). Контур удовлетворяет следующим условиям: а) для каждой клетки можно построить один, и только один контур; б) все вершины контура находятся в заполненной клетке, за исключением клетки, для которой контур строится; в) число вершин – четно.
|
|
|
|
17 |
|
|
|
|
Для клетки А3В3 |
построим контур: |
|
|
|
|
|||
|
|
А33 |
А34 |
А44 |
А43. |
|
|
|
Вершинам присваиваем чередующиеся знаки плюс-минус, начиная с |
||||||||
клетки, для которой контур строится. Выбираем наименьшую поставку, в |
||||||||
вершинах, отмеченных знаком минус – это количество груза необходимо |
||||||||
распределить по контуру |
|
|
|
|
|
|
||
|
|
min 50,75 |
50. |
|
|
|||
Количество груза в ''положительных'' вершинах увеличивается на 50, а в |
||||||||
''отрицательных'' уменьшается на 50. При этом одна и только одна вершина |
||||||||
в контуре становится свободной, а клетка, для которой контур строится, |
||||||||
заполняется. |
|
|
|
|
|
|
|
|
Bj В1 |
В2 |
В3 |
|
|
В4 |
В5 |
Ui |
|
Аi |
50 |
100 |
|
125 |
75 |
50 |
|
|
A1 |
4 |
5 |
|
|
3 |
7 |
2 |
U1=0 |
100 |
4 |
4 |
|
50 |
|
6 |
50 |
|
A2 |
2 |
3 |
|
|
8 |
7 |
5 |
U2=2 |
50 |
50 |
0 |
3 |
|
|
4 |
3 |
|
A3 |
4 |
2 |
|
|
4 |
3 |
6 |
U3=1 |
150 |
3 |
100 |
|
50 |
|
1 |
3 |
|
A4 |
6 |
4 |
|
|
5 |
3 |
5 |
U4=2 |
100 |
4 |
1 |
|
25 |
|
75 |
1 |
|
Vj |
V1= 0 |
V2=1 |
V3=3 |
|
V4=1 |
V5=2 |
|
|
Так как все характеристики Eij |
0, то план оптимален и zmin=1100. |
|
||||||
|
Указания к выполнению контрольной работы |
|
||||||
Вариант для контрольного задания студент выбирает в соответствии с двумя последними цифрами своего учебного шифра по следующему правилу: вторая цифра номера варианта должна совпадать с последней цифрой шифра; если предпоследняя цифра шифра четная, то первая цифра номера варианта должна быть равна 0 или 2, если же предпоследняя цифра нечетная, то первая цифра варианта должна быть равна 1.
Например, при шифре 824016 студент выполняет – вариант 16; при шифре 824086 – вариант 06; при шифре 825010 – вариант 10; при шифре 825060 – вариант 20.
При выполнении и оформлении контрольной работы необходимо руководствоваться следующим:
1.Перед решением каждой задачи записать полностью ее условие задачи. Если задачи имеют общую формулировку, то следует заменить общие данные конкретными для соответствующего варианта.
2.Решения задач излагать подробно.