Геометрическая интерпретация ОЗЛП как метод оптимизации

Автор работы: Пользователь скрыл имя, 07 Августа 2011 в 20:28, дипломная работа

Краткое описание

Методам линейного программирования посвящено много работ зарубежных и, прежде всего американских ученых. В 1941 г. Хичкок поставил транспортную задачу. Основной метод решения линейного программирования - симплексный метод - был опубликован в 1949 г. Данцигом. Дальнейшее развитие методы линейного и нелинейного программирования получили в работах Форда, Фалкерсона, Куна, Лемке, Гасса, Чарнеса, била и др. в настоящее время методы линейного программирования развиваются главным образом в направлении выявления конкретных экономических задач, к решению которых оно быть применено, а также по пути создания более удобных алгоритмов для решения задач на электронно-вычислительных машинах.

Содержание работы

ВВЕДЕНИЕ 5
1.ТЕОРЕТИЧЕСКАЯ ЧАСТЬ 7
1.1. Описание решаемой задачи 7
1.2. Экономическое значение решаемой задачи 9
1.3. Обоснование выбора методов решения задачи 13
1.4.Описание выбранного алгоритма решения 16
2. ОПЫТНО-ЭКСПЕРИМЕНТАЛЬНАЯ ЧАСТЬ 20
2.1. Описание реализации алгоритма решения задачи 20
2.2. Результаты, полученные в ходе решения задачи 42
3. ВЫВОДЫ И ЗАКЛЮЧЕНИЕ 43
4. СПИСОК ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ 44
5. ПРИЛОЖЕНИЕ 45
5.1. Руководство пользователя для решения задачи с помощью 45
MS EXCEL 45
5.2. Список иллюстраций 46
5.3. Список таблиц 47

Содержимое работы - 1 файл

диплом.doc

— 579.50 Кб (Скачать файл)

                х1112=360,

        (2.1) х2122=360,

              х3132=360,

        11+6х21+5х31=5х12+2х22+32.

        Выберем  в качестве свободных переменных, например, x12 и x22 и выразим через них остальные (базисные) переменные: х11, х21, х32, х31. Из первого уравнения имеем:

        х11=360-х12    (2.2)

        Из  второго:

        х21=360-х22    (2.3)

        Из  третьего:

        х31=360-х32.    (2.4)

        Подставляя (2.2), (2.3.) и (2.4.) в последнее уравнение и разрешая его относительно  х32, имеем:

        х32=720-1,25х1222,   (2.5)

        х31=-360+1,25х1222.   (2.6)

        Геометрическая  интерпретация задачи представлена на рисунке 3 (прямые х12=0, х22=0 – оси координат; остальные ограничивающие прямые х31=0, х32=0, х11=0 и х21=0; штриховкой помечены допустимые полуплоскости).

        Как видно из расположения прямых и отмеченных полуплоскостей, допустимые решения для рассмотренной задачи существуют; они заполняют ОДР, которая на рисунке 3 показана штриховкой. 

    Рисунок 3

      Геометрическая интерпретация задачи (ОДР)

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

        L=5х11+5х12+6х21+2х22+5х31+3х32   (2.7)

        Подставим выражения (2.2), (2.3.), (2.4.), (2.5) и (2.6) в формулу (2.7), приведем подобные члены и выразим линейную функцию L всех переменных как линейную функцию только двух свободных переменных: х12 и х22. Получим:

              L’=2.5х12-2х22+4320 (2.8)

        Где 4320 (далее y0)– свободный член, которого в первоначальном виде у функции L не было; теперь, при переходе к переменным х12 и х22, он мог появиться.

        Очевидно, линейная функция (2.8) достигает максимума при тех же значениях х12 и х22, что и функция

                                L’=2.5х12-2х22

        Без свободного члена (линейная форма). Действительно, L’= L- y0., где y0 не зависит от х12 и х22, и, очевидно, максимумы той и другой функций, отличающиеся на 4320, достигаются при одних и тех же значениях х12, х22.

        Найдем  эти значения, пользуясь геометрической интерпретацией. Придадим L’ некоторое постоянное значение С:

                          L’=y1х12-y2х22

        Получим уравнение прямой на полуплоскости  х22Ох12. Угловой коэффициент этой прямой равен - y1/ y2, а отрезок, отсекаемый ею на оси Ох22 (начальная ордината), равен С/ y2. очевидно, если мы заменим постоянную С на некоторую другую С1, угловой коэффициент прямой не изменится; изменится только начальная ордината, и прямая параллельно самой себе в новое положение L’=С1

        Таким образом, различным значениям L’ соответствуют разные прямые на плоскости, но все они параллельны между собой. Очевидно, вместо всех этих прямых достаточно изобразить на плоскости одну основную прямую, например, L’=0, а затем можно мысленно перемещать ее параллельно самой себе. При перемещении этой прямой в одну сторону L’ и будет возрастать, в другую – убывать.

        Построим  основную прямую L’=0 на плоскости х12Ох22 (рисунок 4) . Мы знаем, что угловой коэффициент равен–  y1/ y2; чтобы построить прямую, проходящую через начало координат с угловым коэффициентом–  y1/ y2 отложим по оси абсцисс отрезок y2, а по оси ординат отрезок y1(предварительно умножив их на 200, для облегчения построения, получим точку К(400;500)), и через точку К с такими координатами проведем прямую. Это и будет основная прямая L’=0.

        

    Рисунок 4

      График основной прямой L’=0

    Теперь  остается только выяснить, в какую  сторону (параллельно самой себе) надо двигать эту прямую, чтобы  величина L’ возрастала. В нашем случае, показанном на рисунке 5 (коэффициент y1 положительный, а y2 - отрицательный), направление возрастания L’ – вниз и направо (это показано стрелками, направленными от основной прямой в сторону возрастания L’). При других знаках коэффициентов y1, y2 направление меняется.

        Таким образом, и направление основной прямой L’=0, и направление возрастания линейной формы L’ определяются величинами и знаками коэффициентов y1, y2 при свободных переменных х12, х22 в выражении L’.

        Дадим теперь геометрическую интерпретацию  нахождения оптимального решения ОЗЛП среди допустимых.

        Пусть имеется область допустимых решений  ОДР (рис. 5) и основная прямая L’=0; известно (указано стрелками) направление возрастания линейной формы L’.

        

        Рисунок 5

          Оптимальное решение задачи

    При перемещении основной прямой в направлении, указанном стрелками, линейная форма L’ будет возрастать. Очевидно, наибольшего значения она достигнет, когда прямая будет проходить через крайнюю точку ОДР, наиболее удаленную от начала координат в направлении стрелок (в нашем случае, точку С). Координаты этой точки 360;0 и определяют оптимальное решение ОЗЛП. Зная оптимальные значения свободных переменных Х12*, Х22*, можно найти, подставляя их в уравнения (2.2), (2.3), (2.4) и (2.5), и оптимальные значения базисных переменных:

        х11*=0,

        х21*=360,

        х31*=90,

        х32*=270,

        А также оптимальное (максимальное) значение линейной функции L:

                    Lmax=y0+y1х12*+y2х22*

                    Lmax=4320+2.5*360+2*0=5220

        Таким образом, если число независимых  уравнений- ограничений, которым должны удовлетворять переменные х11, х12, х21, х22, х31, х32 на два меньше, чем число переменных, решение ОЗЛП может быть получено простым геометрическим построением.

        Можно решить эту задачу и без построения линейной функции L, следующим образом. В теории математического программирования убедительно показывается, что оптимальному решению соответствует одна из вершин многоугольника, а именно та, для которой общая производительность окажется максимальной. Рассмотрим все вершины многоугольника:

  • D (0; 360)

       х12*=0,

       х22*=360,

       х11*=360,

       х21*=0,

       х31*=0,

       х32*=360,

       А также значение линейной функции  L:

                   L=5*360+5*0+6*0+2*360+5*0+3*360=3600

  • А (288; 360)

       х12*=288,

       х22*=360,

       х11*=72,

       х21*=0,

       х31*=360,

       х32*=0,

       А также значение линейной функции  L:

                   L=5*72+5*288+6*0+2*360+5*360+3*0=4320

  • В (360; 270)

       х12*=360,

       х22*=270,

       х11*=0,

       х21*=90,

       х31*=360,

       х32*=0,

       А также значение линейной функции  L:

                   L=5*0+5*360+6*90+2*270+5*360+3*0=4680

  • Е (288; 0)

       х12*=288,

       х22*=0,

       х11*=72,

       х21*=360,

       х31*=0,

       х32*=360,

       А также значение линейной функции L:

                   L=5*72+5*288+6*360+2*0+5*0+3*360=5040

  • С (360; 0)

       х12*=360,

       х22*=0,

       х11*=0,

       х21*=360,

       х31*=90,

       х32*=270,

       А также значение линейной функции  L:

                   L=5*0+5*360+6*360+2*0+5*90+3*270=5220

        Как видно из вычислений, это вершина С с координатами 360;0, в этой точке линейная функция L достигает максимального значения, равное 5220, оно и является оптимальным для нас.

        Рассмотрим  этот же пример, в котором оптимизация  может быть проведена с помощью  симплекс метода - табличного алгоритма замены.

        Имеется ряд уравнений:

        х1112=360,

        х2122=360, (2.9)

        х3132=360,

        11+6х21+5х31=5х12+2х22+32,

        необходимо  найти решение задачи линейного  программирования, которое будет  обращать в максимум линейную функцию:

        L=5х11+5х12+6х21+2х22+5х31+3х32.

        Выберем в качестве свободных переменных х12 и х22, выразим относительно этих переменных все базисные (оставшиеся), переменные, получим уравнения вида:

        х11=360-х12,

        х21=360-х22,

        х31=-360+1,25х1222,   (3.0)

        х32=720-1,25х12-2х22,

        Выразив через свободные переменные х12 и х22 линейную функцию, получим Lmax=4320+2,5х12-2х22.

        Т.к. по определению ОЗЛП мы должны минимизировать линейную функцию L, то необходимо записать L, как

        Lmin=-Lmax=-4320-2,5х12+2х22. (3.1)

        Запишем (3.0) и (3.1) в виде стандартной таблицы, причем свободные члены будем писать без изменений, а коэффициенты при переменных предварительно умножим на -1. таким образом получим Таблицу № 3.

        Выбираем  из свободных членов отрицательный (х31) и смотрим на строку элементов, выбирая из элементов отрицательный. Смотрим на столбец, те элементы, которые имеют один знак со свободным членом, выбираем разрешающим элементом тот, отношение которого меньше при делении свободного члена на элемент. В данном случае это элемент столбца х12 и строки х31. выделим в таблице разрешающий элемент -1,25. вычислим его обратную величину -1/1,25 (или -4/5) и запишем ее в нижней части той же ячейки (в нижнем углу). Все элементы разрешающей строки (кроме самого -1,25) умножим на -4/5, результат запишем в нижней части той же ячейки. Все элементы разрешающего столбца (кроме самого -1,25) умножим на 4/5, результат запишем в нижней части той же ячейки. Подчеркнем (или выделим иным способом) в разрешающей строке все верхние числа (прежние элементы), за исключением самого разрешающего элемента ячейки, а в разрешающем столбце – все нижние числа (новые элементы), за исключением самого разрешающего элемента.

Информация о работе Геометрическая интерпретация ОЗЛП как метод оптимизации