- •Содержание
- •Предисловие
- •Глава I. Начала линейного программирования
- •§1. Задача линейного программирования. Типичные задачи линейного программирования, их математические модели.
- •1.1 . Задача линейного программирования
- •1.2. Типичные злп и их математические модели
- •1.3. Упражнения.
- •§2. Общая злп. Канонический вид злп.
- •2.2. Канонический вид злп
- •§3. Теоретические основы решения злп. Геометрическая интерпретация злп. Идея аналитического решения
- •3.1. Теоретические основы решения злп
- •3.2. Геометрическая интерпретация злп
- •3.4. Идея аналитического решения злп
- •3.5. Теоретические основы решения злп (продолжение)
- •§4. Симплекс-метод решения злп
- •4.1. Алгоритм симплекс-метода
- •4.2. Симплекс-таблицы.
- •§5. Метод искусственного базиса
- •5.1. Суть метода искусственного базиса
- •Глава II. Двойственность и целочисленность в линейном программировании. Транспортная задача.
- •§1. Теория двойственности
- •1.1. Задача, приводящая к паре двойственных задач
- •1.2. Пара симметричных двойственных задач
- •1.3. Пара несимметричных двойственных задач
- •1.4. Теоремы двойственности
- •1.5. Упражнения.
- •§2. Элементы целочисленного программирования
- •2.1. Постановка и геометрическая интерпретация
- •2.2. Метод Гомори
- •2.3. Упражнения.
- •§3. Транспортная задача
- •3.1. Постановка и математическая модель транспортной задачи
- •3.2. Теоретические основы решения транспортной задачи
- •3.3. Алгоритм метода потенциалов.
- •3.3.1. Основные пункты алгоритма:
- •3.3.2. Построение первоначального опорного плана.
- •3.3.4. Переход к новому опорному плану (построение очередного опорного плана).
- •3.3.5. Метод наименьших затрат построения первоначального опорного плана.
- •3.4. Сведение задачи открытого типа к задаче закрытого типа
- •3.5. Упражнения.
- •Задание лп-4
- •Задание лп-5
- •Задание лп-6
- •1. Приводим задачу к каноническому виду.
- •Задание лп-4
- •Задание лп-5
- •Задание лп-6
1.4. Теоремы двойственности
1.4.1. Теорема (первая теорема двойственности). Значения целевых функций пары двойственных задач на их оптимальных планах совпадают.
1.4.2.
Теорема
(вторая
теорема двойственности).
Пусть
X0=(
,
,
…,
)
и
Y0=(
,
,
…,
)
решения
соответственно задач
(1.1) и
(1.2). Тогда
они связаны соотношениями
(1.3)
В силу данной теоремы для решения пары двойственных задач (1.1) и (1.2) достаточно поступить следующим образом: сначала решить одну из них, например (1.1), и по её решению X0=( , , …, ), составив систему (1.3) и решив её, найти решение Y0=( , , …, ) задачи (1.2). При этом согласно теоремы 1.4.1 значения целевых функций обеих задач совпадают.
Теоремы эти справедливы также и для пары несимметричных двойственных задач. Так что они также применимы и при нахождении решения одной из двух несимметричных двойственных задач при условии, что решение другой известно.
Пример 2. Составить двойственную и по решению исходной найти её решение:
2x1+2x25x3min
Решение. Двойственная следующая:
12y12y2+24y3 max
(См. Пример 1б)).
Находим решение исходной симлекс-методом или методом искусственного базиса. Решение возможно и на компьютере, например, в оболочке Excel: X0=(0, 28, 26), Fmin=74 решение исходной задачи.
Составим систему (1.3) для нашей задачи (и решим её), которая в случае n=m=3 имеет вид:
Из
третьего уравнения последней системы
получаем
,
подставляя которое в первые два, приходим
к системе
Решим
эту систему, например, правилом Крамера.
Как известно, согласно правила Крамера
=
,
=
где
определитель системы, 1
и 2
определители, полученные из
заменой на столбец свободных членов
соответсвенно первого и второго столбцов.
Имеем =
=1,
1=
=1,
2=
=3.
Поэтому
=
=
=1,
=
=
=3.
Окончательно
имеем Y0=(0,
1, 3),
=74.
Ответ: Двойственная и её решение:
12y12y2+24y3 max
Y0=(0, 1, 3), =74.
1.5. Упражнения.
1) По решению исходной найти решение двойственной к задачам из Примера 1а).
2) Составить двойственные и по решениям исходных найти их решения для ЗЛП из Упражнения 1.3 Главы I.
§2. Элементы целочисленного программирования
2.1. Постановка и геометрическая интерпретация
Многие задачи линейного программирования, возникающие в экономике и производстве, требуют решений, у которых компоненты целочисленны, то есть xjZ, j=1, 2, …, n. Например, когда количество выпускаемой продукции измеряется в целых величинах, скажем, поштучно. Так, количество выпускаемых автомобилей, станков не может быть дробным. Раздел линейного программирования, изучающий методы решения таких задач, называется целочисленным линейным программированием, а задачи с таким условием задачами целочисленного линейного программирования. В математической модели таких задач появляется дополнительное условие: xjZ, j=1, 2, …, n:
c1x1+c2x2+…+cnxnmax(min)
(2.1)
В случае, когда задача имеет только две переменные:
c1x1+c2x2 max(min)
(2.2)
она имеет простую геометрическую интерпретацию: решением задачи является точка в многоугольнике решений системы ограничений
(2.3)
с целочисленными координатами, в которой достигается экстремум целевой функции задачи. Такие задачи геометрически решаются по следующей схеме:
1. Построить многоугольник решений системы (2.1).
2. В многоугольнике решений, полученном в п.1, отметить точки с целочисленными координатами. Получается область допустимых решений (ОДР) задачи (7.2).
3. Построить линии уровня c1x1+c2x2= целевой функции задачи.
4. В ОДР задачи (2.2), полученной в п.2, выбрать точку, в которой достигается требуемый экстремум.
5. Вычислить значение функции в найденной точке экстремума.
Пример 1. Решить задачу целочисленного программирования геометрическим способом:
2x1+4x2 max(min)
Решение. Действуем по вышеприведённой схеме:
1. Строим многоугольник решений системы (подробности опускаем) (Рис.4)
Рис.4
2. В многоугольнике решений, полученном в п.1, отмечаем точки с целочисленными координатами. Это точки (0, 0), (1, 0), (2, 0), (3, 0), (0, 1), (1, 1), (2, 1), (0, 2), (1, 2), (2, 2), (0, 3), (1, 3). Таким образом, ОДР задачи это множество {(0, 0), (1, 0), (2, 0), (3, 0), (0, 1), (1, 1), (2, 1), (0, 2), (1, 2), (2, 2), (0, 3), (1, 3)} (Рис.5):
Рис.6
3. Cтроим линии уровня 2x1+4x2= целевой функции задачи, ориентируясь на вектор =(1, 2) нормали этих линий, коллинеарный вектору 2 =(2, 4) (Рис.7):
Рис.7
4. В ОДР задачи, полученной в п.2, выбираем точки, в которых достигаются требуемые экстремумы. Это точки (1, 3) точка максимума, и (0, 0) точка минимума.
5. Вычислим значение функции в найденных точках экстремума:
Fmax цел.=F(1, 3)=21+43=14, Fmin цел.=F(0, 0)=20+40=0.
Ответ: Xmax цел.=(1, 3), Fmax цел.=14; Xmin цел.=(0, 0), Fmin цел.=0.
