Лабораторная работа №3 [Ишимбай] / №3
.docМИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РФ
УФИМСКИЙ ГОСУДАРСТВЕННЫЙ АВИАЦИОННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
ФИЛИАЛ В Г. ИШИМБАЙ
Кафедра Физики и Математики
Отчет по лабораторной работе №3
по предмету «Теория принятия решений»
на тему: Линейное программирование.
Вариант задания №7.
Выполнил: студент гр. АТП-308
Шарипов Д.В.
Принял: к. ф.-м. н., ст. преп.
Мугафаров М.Ф.
Ишимбай 2007
Цель работы: решить задачу линейного программирования тремя способами: 1) графическим методом; 2) симплекс – методом; 3) при помощи средства «Поиск решения» в Microsoft Excel.
Краткие теоретические сведения.
-
Графический способ решения задач линейного программирования в случае 2 независимых переменных (хотя возможно решение в случае 3 переменных). Алгоритм решения задач: 1) изобразить область, соответствующую системе неравенств 2) если целевая функция имеет вид: f(x1,x2)=c1x1+c2x2, то очевидно: . Следовательно вектор градиента имеет вид: grad(f)=(c1,c2). На плоскости изобразить вектор градиента и перпендикулярную ему линию уровня функции f 3) для нахождения максимума функции f требуется перемещать линию уровня параллельным переносом в направлении вектора градиента. Для нахождения минимума линию уровня следует перемещать в направлении противоположном градиенту. Перемещение линии уровня продолжать до тех пор, пока она имеет общие точки с областью допустимых решений 4) при достижении «крайнего положения» перемещение прекратить, зафиксировать полученный ответ. В зависимости от конкретной задачи ответом может служить: одна точка; все точки некоторого отрезка; бесконечно удаленная точка.
-
Симплекс-метод. Идея метода заключается в следующем: в качестве начального приближения рассматривается координата некоторой вершины многогранника допустимых решений. Требуется найти все ребра, исходящие из этой вершины. Путем движения вдоль ребра, по которому целевая функция убывает, придем в новую вершину. Далее требуется найти все ребра, выходящие из полученной вершины и продолжить процедуру. После конечного числа шагов придем в такую вершину, движение из которой невозможно, т.к. вдоль всех ребер, выходящих из этой вершины целевая функция возрастает. Координаты полученной вершины являются решением задачи.
-
Способ поиска максимума или минимума функции помощи средства «Поиск решения» в Microsoft Excel основывается на встроенных функциональных возможностях программы Microsoft Excel. Краткий алгоритм: 1) в меню «Сервис» в разделе «Надстройки» необходимо активизировать функцию «поиск решения» 2) выделить область листа размером 2х2, в ячейки этой области будут занесены результаты решения, а именно координаты точки максимума или минимума, соответственно 3) в соседних клетках ввести значения, которые лежат в левой и правой частях неравенств 4) в отдельной таблице размера 1х2 запишем значение целевой функции 5) вызвать средство «поиск решения», в качестве целевой ячейки выбрать ту, в которой хранится значение целевой функции, выбрать вариант максимум или минимум, в окне «изменяя ячейки» указать ячейки, содержащие x1 и x2, добавить каждое из ограничений, указав в виде ссылки ячейку левой части неравенства и правой части, выставив между ними требуемый знак 6) в параметрах установить неотрицательные значения 7) нажав на кнопку «выполнить», получить результат.
Задание:
Найти максимум и минимум функции при заданных ограничениях:
Решить задачу линейного программирования тремя способами:
-
симплекс-методом
-
графическим методом
-
средством «Поиск решения» в программе Microsoft Excel
Выполнение работы
Решим поставленную задачу графическим методом.
Изобразим область допустимых решений, соответствующую системе ограничений-неравенств.
Найдем градиент функции :
На плоскости переменных и изобразим вектор-градиент и перпендикулярную ему линию уровня . Перемещая линию уровня вдоль вектора-градиента, мы придем в бесконечность, т.е. . Таким образом, исследуемая функция не имеет точки максимума. Перемещая линию уровня в направлении антиградиента , получим «точку выхода» с координатами A(2;2). При этом исследуемая функция принимает свое минимальное значение равное
Решим поставленную задачу симплекс-методом.
Найдем минимум исследуемой функции.
Так как симплекс-метод разработан для задач линейного программирования в канонической форме, то требуется перейти от ограничений-неравенств к ограничениям-равенствам путем введения балансовых переменных.
(1)
Из системы уравнений (1) видно, что в качестве свободных переменных проще всего выбрать . Тогда базисные переменные выражаются через свободные так:
(2)
Если положить все свободные переменные равные нулю, то, используя систему уравнений (2), получим базисное решение:
Это базисное решение является недопустимым, так как не выполняются условия:
Пусть . Тогда из системы уравнений (2) следует, что:
Используя систему уравнений (2) найдем базисное решение с учетом :
Так как свободными переменными стали и , то необходимо «переразрешить» систему уравнений (2), а именно выразить переменную , ставшей базисной, через переменные , и подставить полученное выражение в оставшиеся уравнения системы:
(3)
Этому набору свободных и базисных переменных соответствует базисное решение:
Значение целевой функции при данном базисном решении:
Найденное базисное решение является недопустимым, поскольку не выполняется условие
В выражении целевой функции , которая выражена через свободные переменные и , коэффициент при отрицателен. Значит, увеличивая , можно уменьшить значение целевой функции .
Пусть . Тогда из системы уравнений (3) следует, что:
Используя систему уравнений (3) найдем базисное решение с учетом :
Так как свободными переменными стали и , то необходимо «переразрешить» систему уравнений (3), а именно выразить переменную , ставшей базисной, через переменные , и подставить полученное выражение в оставшиеся уравнения системы:
(4)
Этому набору свободных и базисных переменных соответствует базисное решение:
Значение целевой функции при данном базисном решении:
Найденное базисное решение является допустимым, поскольку .
В выражении целевой функции коэффициенты при свободных переменных и неотрицательны. Значит, найденное базисное решение является оптимальным, т.е. решение доставляет минимум целевой функции , значение которого равно 12.
Найдем максимум исследуемой функции.
Для того, чтобы применить симплекс-метод необходимо перейти от задачи максимизации к эквивалентной задаче минимизации и от ограничений-неравенств к ограничениям-равенствам. Задача, удовлетворяющая указанным требованиям и эквивалентная исходной, будет выглядеть следующим образом:
(5)
Из системы уравнений (5) видно, что в качестве свободных переменных проще всего выбрать . Тогда базисные переменные выражаются через свободные так:
(6)
Если положить все свободные переменные равные нулю, то, используя систему уравнений (6), получим базисное решение:
Это базисное решение является недопустимым, так как не выполняются условия:
Пусть . Тогда из системы уравнений (6) следует, что:
(7)
Используя систему уравнений (6) найдем базисное решение с учетом :
Так как свободными переменными стали , и , то необходимо «переразрешить» систему уравнений (6), а именно выразить переменную , ставшей базисной, через переменные ,,и подставить полученное выражение в оставшиеся уравнения системы:
В полученной системе уравнений имеются два выражения для базисной переменной . Так как ограничивающим неравенством в системе неравенств (7) является неравенство , соответствующее неравенству , то из двух выражений для базисной переменной следует выбрать выражение :
(8)
Этому набору свободных и базисных переменных соответствует базисное решение:
Значение целевой функции при данном базисном решении:
Найденное базисное решение является допустимым, поскольку .
В выражении целевой функции , которая выражена через свободные переменные и , коэффициент при отрицателен. Значит, увеличивая , можно уменьшить значение целевой функции .
Пусть . Тогда из системы уравнений (8) следует, что:
(9)
Из системы неравенств (9) видно, что свободная переменная неограниченна сверху. Это значит, что ее значение можно увеличивать до бесконечности. При этом минимальное значение целевой функции равно . Возвращаясь к первоначальной задаче, делаем вывод, что исследуемая функция не имеет точки максимума.
Решим поставленную задачу с помощью средства «Поиск решения» в программе Microsoft Excel.
Структура листа в Microsoft Excel.
x1 |
x2 |
F |
0 |
0 |
=3*A2+3*B2 |
Ограничение 1 |
=A2-2*B2 |
2 |
Ограничение 2 |
=-2*A2+B2 |
6 |
Ограничение 3 |
=2*A2+B2 |
6 |
Ограничение 4 |
=A2+2*B2 |
6 |
Найдем минимум исследуемой функции :
x1 |
x2 |
F |
2 |
2 |
12 |
Найдем максимум исследуемой функции :
x1 |
x2 |
F |
107374184,4 |
107374184,4 |
644245106,4 |
Так как графический и симплекс-методы показали, что исследуемая целевая функция не имеет максимума, то можно сделать вывод, что полученный результат является неверным и был получен в результате достижения предельного значения представления чисел в Microsoft Excel.
Вывод.
В результате проделанной работы были приобретены навыки при решении задач линейного программирования с помощью графического метода, симплекс-метода и при помощи средства «Поиск решения» в Microsoft Excel.