
- •Методы и модели в экономике
- •Введение
- •1. Формулировка общей задачи линейного программирования
- •2. Графический метод решения задач линейного программирования
- •3. Табличный симплекс-метод
- •3.1. Алгоритм симплекс – метода
- •3.2. Определение первоначального допустимого базисного решения
- •3.3. Особые случаи симплексного метода
- •4. Двойственные задачи
- •5. Балансовые модели
- •5.1. Балансовый метод. Принципиальная схема межпродуктового баланса
- •5.2. Экономико-математическая модель межотраслевого баланса
- •6. Построение трендовой модели
- •6.1. Понятие временного ряда
- •6.2. Этапы статистического анализа временных рядов
- •6.3. Выявление тренда и построение трендовой модели
- •6.4. Проверка адекватности моделей
- •6.5. Оценка точности модели
- •6.6. Построение прогнозов
- •Литература
- •Задание IV.
- •Задание V.
- •164500, Г. Северодвинск, ул. Воронина, 6
2. Графический метод решения задач линейного программирования
Графический метод основан на геометрической интерпретации задач ЛП и применим лишь в частном случае, когда число переменных преобразованной задачи не превосходит двух.
Рассмотрим сначала случай, когда задача записана в стандартной форме:
Множество допустимых решений (2.1) (в случае совместности) представляет собой многоугольную область, образованную пересечением полуплоскостей (2.1б) с граничными прямыми:
Поскольку имеются требования неотрицательности, соответствующая многоугольная область будет находиться в положительном квадранте.
От свойств множества допустимых решений зависит существование оптимальных решений и их единственность. Множество допустимых решений может представлять собой пустое множество, точку, отрезок, луч, прямую, многоугольник или неограниченную многоугольную область.
Каждое неравенство
определяет в n-мерном евклидовом пространстве Rn полупространство, ограниченное гиперплоскостью
Пересечение этих полупространств и есть допустимая область. При n = 2 имеем соответственно полуплоскость и прямую.
Построим по двум точкам граничные прямые
и для каждой из
них определим допустимые полуплоскости,
подставив в соответствующие неравенства
координаты каких-либо точек, не лежащих
на границе. Выделим пересечение
полуплоскостей (рис. 2.1).
Геометрическое решение задачи ЛП представляет собой отыскание таких точек многоугольной области решений, координаты которых доставляют линейной форме CTХ максимальное значение.
Графический метод решения ЗЛП состоит из следующих этапов.
Этап 1. Сначала на координатной плоскости X1OX2 строится допустимая многоугольная плоскость (область допустимых решений, область определения), соответствующая ограничениям.
Этап 2. Строится прямая CTх=а, называемая линией уровня.
Далее строится вектор-градиент () линейной функции f (Х) Координаты вектора-градиента являются частными производными функции f(X), т.е.
Этап 3. Линия уровня, перпендикулярная вектору-градиенту, передвигается в направлении этого вектора в случае максимизации f(X) до тех пор, пока не покинет пределов многоугольника решений. Предельная точка области при этом движении и является точкой максимума f(X) (при минимизации целевой функции следует двигаться в направлении противоположном вектору-градиенту).
Для нахождения координат точки максимума достаточно решить два уравнения прямых, получаемых из соответствующих ограничений и дающих в пересечении точку максимума. Значение f(X), найденное в получаемой точке, является максимальным.
Следует иметь в виду, что при решении некоторых ЗЛП графическим методом могут встретиться следующие случаи:
а) Если линия уровня параллельна одной из сторон выпуклого многоугольника допустимых решений, причем эта сторона расположена в направлении смещения линии уровня при стремлении целевой функции к своему оптимуму, то в этом случае оптимальное значение целевой функции достигается не в одной, а в двух угловых точках (вершинах) многоугольника решений и, следовательно, во всех точках отрезка, соединяющего эти вершины, т.е. задача будет иметь бесчисленное множество решений.
б) Если область допустимых решений является незамкнутым выпуклым многоугольником в направлении оптимизации целевой функции, то целевая функция будет неограниченной и ЗЛП не будет иметь решений (ясно, что если линия уровня при своем движении не покидает допустимой области, то соответствующий максимум или минимум f(X) не существует). В этом случае условно можно записать, что, например, max f(X)= + .
в) Очевидно также, что ЗЛП не будет иметь решений в случае, когда область допустимых решений есть пустое множество (), т.е. система ограничений ЗЛП содержит противоречивые неравенства, и на координатной плоскости нет ни одной точки, удовлетворяющей этим ограничениям.
Пример 2.1. Решить графическим методом следующую задачу линейного программирования:
Решение.
Прямые ограничения означают, что область решений будет лежать в первой четверти декартовой системы координат (рис. 2.1).
Этап 1. Определим множество решений первого неравенства х1 + 3х2<21. Оно состоит из решения уравнения и строгого неравенства. Очевидно, что одним из решений уравнения х1+ 3х2 = 21 будут точки с координатами (0; 7) и (21;0). По этим точкам построим прямую, обозначенную на рисунке цифрой I.
Множество решений строгого неравенства х1+ 3 х2 < 21 – одна из полуплоскостей, на которые делит построенная прямая всю плоскость. Какая из них является искомой, можно выяснить при помощи одной контрольной точки. Если в произвольно взятой точке, не принадлежащей прямой, неравенство выполняется, то оно выполняется и во всех точках той полуплоскости, которой принадлежит контрольная точка, и не выполняется во всех точках другой полуплоскости. В качестве такой точки удобно брать начало координат. Подставим координаты (0; 0) в неравенство, получим 0 + 3*0< 21, т. е. оно выполняется. Следовательно, областью решения неравенства служит нижняя полуплоскость под прямой I.
Аналогичным образом построим области решения двух других неравенств.
Уравнение 3 х1 + 2 х2 =21 - решение (0; 10,5) и (7; 0) - на рисунке прямая II. Неравенство 3 х1+ 2 х2<21 при х1 = х2 = 0, 0 < 21 - выполняется, следовательно, берется нижняя полуплоскость.
Уравнение 3 х1+ х2 = 18 - решение (0; 18) и (6; 0) - на рисунке прямая III. Неравенство 3х1 + х2<18 при х1 = х2 = 0, 0<18 - выполняется, следовательно, опять берется нижняя полуплоскость.
Общую область для всех неравенств заштрихуем, обозначим вершины полученного многоугольника решений OABCD. Координаты этих вершин являются допустимыми решениями данной задачи линейного программирования. Их можно определить, решая систему уравнений двух пересекающихся соответствующих прямых. Например, определим координаты точки С, являющейся точкой пересечения прямых II и III:
Решение системы х1 = 5 , х2 = 3, следовательно, координаты точки С (5; 3). Вычислим значение целевой функции f(X) = 30х1 + 60х2 в этой точке : f(X) = 30 5 + 603 = 150 + 180 = 330.
Получили одно из допустимых решений данной ЗЛП, удовлетворяющее заданной системе ограничений. Это f(X)=f(5;3) = 330.
Этап 2. Приравняем целевую функцию f(X) к постоянной величине а:
30х1 + 60х2 = а.
Это уравнение является множеством точек, в котором целевая функция принимает значение, равное а. Меняя значение а, получим семейство параллельных прямых, каждая из которых называется линией уровня.
Пусть а = 0 , вычислим координаты двух точек, удовлетворяющих соответствующему уравнению 30 х1 + 60 х2 = 0. В качестве одной из этих точек удобно взять точку О (0; 0), а так как при х1 = 2 получим х2 = -1, то в качестве второй точки возьмем точку G (2; -1).
Через эти две точки проведем линию уровня 30х1 + 60х2 = 0 (на рисунке - пунктирная прямая).
Для определения направления движения к оптимуму построим вектор-градиент , координаты которого являются частными производными функции f(X), т.е. = (с1; с2) = (30; 60). Чтобы построить этот вектор, нужно соединить точку (30; 60) с началом координат. Для удобства можно строить вектор, пропорциональный вектору . На рисунке изображен вектор - 1 = /6 = (5; 10).
Этап 3. Для нахождения максимума целевой функции необходимо смещать линию уровня параллельно самой себе в направлении вектора-градиента. В нашем случае движение линии уровня 30x1 + 60х2 = 0 будем осуществлять до ее пересечения с точкой В; далее она выходит из области допустимых решений. Следовательно, именно в этой точке достигается максимум целевой функции. Координаты этой точки находим, решая систему уравнений двух пересекающихся соответствующих прямых (I и II):
Решение системы x1 = 3 , c2 = 6, следовательно, max f(X) в точке В (3; 6):
max f(X) = 30 • 3 + 60 • 6 = 450, max f(X) = 450.
При минимизации целевой функции линию уровня смещаем в направлении, противоположном вектору-градиенту. Как это видно на рисунке min f(X) достигается в точке О (0; 0), т. е. х1 = 0 , х2 = 0, следовательно:
min f(X) = 300+ 600 = 0, min f(X) = 0.
Ответ: maxf(X) = 450 и minf(X)= 0,