Автор: Пользователь скрыл имя, 20 Января 2012 в 22:34, контрольная работа
Компьютерный эксперимент. Анализ результатов моделирования. Двойственный симплекс-метод. Содержательные и формальные модели. Содержательная классификация моделей. Прямая и двойственная задачи. Связь между решениями прямой и двойственной задачами. Этапы моделирования. Постановка задачи. Разработка модели. Жесткие и мягкие модели. Универсальность моделей. Прямая и обратная задачи математического моделирования.
Вариант 10.
Геометрический метод решения задач линейного программирования
Для обоснования
методов решения задач
Определение 1. Множество точек называется выпуклым, если вместе с его любыми двумя точками ему принадлежит и весь отрезок, соединяющий их.
На рис. 2.1 изображено выпуклое множество (выпуклый многоугольник), а на рис. 2.2 - невыпуклое.
рис. 2.1 | рис. 2.2 |
Определение 2. Пересечение конечного числа выпуклых множеств также выпуклое множество.
Определение
3. Точка выпуклого
множества называется
угловой (или крайней),
если через неё нельзя
провести ни одного
отрезка, состоящего
только из точек данного
множества и для которого
она была бы внутренней.
Для выпуклого многоугольника угловыми
точками являются все его вершины. В пространстве
выпуклое множество с конечным числом
угловых точек называется выпуклым многогранником.
Утверждение 1. Множеством решений системы m линейных неравенств с n переменными является выпуклый многогранник в n-мерном пространстве (исключая случай, когда система несовместна).
Чтобы решить задачу линейного программирования необходимо привести ее к каноническому виду.
Теоремы линейного программирования:
Теорема 1. Множество допустимых решений основной задачи линейного программирования выпукло.
Теорема 2. Линейная функция задачи линейного программирования достигает своего экстремального значения в крайней точке множества решений.
При решении системы ограничений могут возникнуть следующие случаи:
1) Система
ограничений несовместна,
2) Система
ограничений имеет
3) Система
ограничений имеет конечное
4) Система
ограничений имеет
Рис. 2.8
Рис. 2.9
Рис. 2.10
Рис. 2.11
Множество допустимых решений (многогранник решений) задачи линейного программирования представляет собой выпуклый многогранник (или выпуклую многогранную область), а оптимальное решение задачи находится, по крайней мере, в одной из угловых точек многогранника решений.
Рассмотрим задачу в стандартной форме с двумя переменными (n = 2). К такой форме может быть сведена и каноническая задача (с ограничениями в виде уравнений), когда число переменных n больше числа уравнений m на 2, т.е. n — m = 2.
рис. 2.6
Пусть геометрическим изображением системы ограничений является многоугольник ABCDE (рис. 2.6). Необходимо среди точек этого многоугольника найти такую точку, в которой линейная функция F = с1х1 + с2х2 принимает максимальное (или минимальное) значение.
Рассмотрим так называемую линию уровня линейной функции F, т.е. линию, вдоль которой эта функция принимает одно и то же фиксированное значение а, т.е. F = а, или
с1х1 + с2х2 = а (2.14)
Линии уровня широко используются, например, на картах прогноза погоды, где извилистые линии — так называемые изотермы есть не что иное, как линии уровня температуры Т = с. Еще более простым примером линий уровня являются параллели на географической карте. Это линии уровня широты.
Предположим, надо найти самую северную точку какой-либо области, например страны или материка. Это будет точка, имеющая наибольшую широту, т.е. точка, через которую проходит параллель (линия уровня) с самой большой широтой (уровнем).
Именно
так и надо поступать при геометрическом
решении задач линейного
Уравнение линии уровня функции (2.14) есть уравнение прямой линии. При различных уровнях а - линии уровня параллельны, так как их угловые коэффициенты определяются только соотношением между коэффициентами с1 и с2 и, следовательно, равны. Таким образом, линии уровня функции F — это своеобразные "параллели", расположенные обычно под углом к осям координат.
Важное свойство линии уровня линейной функции состоит в том, что при параллельном смещении линии в одну сторону уровень только возрастает, а при смещении в другую сторону — только убывает.
Пусть имеются три линии уровня
F = с1х1 + с2х2 =а1, (I)
F = с1х1 + с2х2 = а2 (II)
F = с1х1 + с2х2 =а3, (III)
причем линия II заключена между линиями I и III. Тогда а1 < а2 < а3 или а1 > а2 > а3
В
самом деле, на штриховой линии (перпендикулярной
к линиям уровня на рис. 2.7 уровень
является линейной функцией, а значит,
при смещении в одном из направлений
возрастает, а в другом — убывает.
рис. 2.7
Для определения
направления возрастания
Если максимальное значение функция принимает более чем в одной вершине, то это же значение она принимает в любой точке, являющейся выпуклой линейной комбинацией данных вершин.
Вершину
многогранника решений, в которой
целевая функция принимает
Найдем решение задачи, состоящей в определении максимального значения функции
F=c1x1+c2x2 (2.15)
при условиях
ai1x1 + ai2x2 £ bi (i=1, k ), (2.16)
(j = 1,2). (2.17)
Каждое из неравенств (2.16), (2.17) системы ограничений задачи геометрически определяет полуплоскость соответственно с граничными прямыми ai1x1 + ai2x2 = bi (i=1, k ), x1=0 и х2 = 0. В том случае, если система неравенств (2.16), (2.17) совместна, область ее решений есть множество точек, принадлежащих всем указанным полуплоскостям. Так как множество точек пересечения данных полуплоскостей — выпуклое, то областью допустимых решений задачи (2.15) —(2.17) является выпуклое множество, которое называется многоугольником решений (введенный ранее термин «многогранник решений» обычно употребляется, если n ³ 3). Стороны этого многоугольника лежат на прямых, уравнения которых получаются из исходной системы ограничений заменой знаков неравенств на знаки точных равенств.
Таким образом, исходная задача линейного программирования состоит в нахождении такой точки многоугольника решений, в которой целевая функция F принимает максимальное значение. Эта точка существует тогда, когда многоугольник решений не пуст и на нем целевая функция ограничена сверху. При указанных условиях в одной из вершин многоугольника решений целевая функция принимает максимальное значение. Для определения данной вершины построим линию уровня c1x1+c2x2 = а (где а — некоторая постоянная), проходящую через многоугольник решений, и будем передвигать ее в направлении вектора С=(с1; c2) до тех пор пока она не пройдет через последнюю ее общую точку с многоугольником решений. Координаты указанной точки и определяют оптимальный план данной задачи.
Заканчивая рассмотрение геометрической интерпретации задачи (2.11) —(2.17), отметим,
рис. 2.8
что при нахождении ее решения могут встретиться случаи, изображенные на рис. 2.8 — 2.9. Рис. 2.8 характеризует такой случай, когда целевая функция принимает максимальное значение в единственной точке А. Из рис. 2.9 видно, что максимальное значение целевая функция принимает в любой точке отрезка АВ.
На рис.
2.10 изображен случай, когда целевая
функция не ограничена сверху на множестве
допустимых решений, а на рис. 2.11 —случай,
когда система ограничений
Отметим, что нахождение минимального значения линейной функции при данной системе ограничений отличается от нахождения ее максимального значения при тех же ограничениях лишь
тем, что линия уровня c1x1+c2x2 = h передвигается не в направлении вектора С=(с1; c2), а в противоположном направлении. Таким образом, отмеченные выше случаи, встречающиеся при нахождении максимального значения целевой функции, имеют место и при определении ее
минимального значения.
Итак, нахождение решения задачи линейного программирования (2.15)—(2.17) на основе ее геометрической интерпретации включает следующие этапы:
Пример 1
Минимизировать функцию
F = -3x1
— 4х2
рис. 2.12
при ограничениях х 1, х2 ³ 0,
х1 + х2 £ 20,
-х1 + 4х2 £ 20,
х1 ³ 10,
х2 ³ 5.