Полезное:
Как сделать разговор полезным и приятным
Как сделать объемную звезду своими руками
Как сделать то, что делать не хочется?
Как сделать погремушку
Как сделать так чтобы женщины сами знакомились с вами
Как сделать идею коммерческой
Как сделать хорошую растяжку ног?
Как сделать наш разум здоровым?
Как сделать, чтобы люди обманывали меньше
Вопрос 4. Как сделать так, чтобы вас уважали и ценили?
Как сделать лучше себе и другим людям
Как сделать свидание интересным?
Категории:
АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника
|
Представление задачи линейного программирования в канонической форме
Пусть требуется найти неотрицательные значения переменных Х1, Х2, …, Хn, для которых функция цели принимает максимальное значение
f(x) = C1 Х1 + C2Х2 + …+ CnХn ® max
при ограничениях
Хj ³ 0, (j = ).
Поскольку в ограничениях левая часть меньше, чем правая (или равна ей), чтобы перейти к строгому равенству, необходимо к левой части каждого неравенства добавить соответствующую переменную. Найти максимум функции цели
f(x) = C1 Х1 + C2Х2 + …+ CnХn + …+ 0×Хn+1 + …+ 0×Хn+m ® max
при ограничениях
Хj ³ 0, (j = ). Пример. Записать следующую задачу в канонической форме:
f(x) = -X1 + 2X2 - X3 + X4® min, 3X1 - X2 + 2X3 + 2X4 £ 10, X1 + 2X2 + X3 - X4 ³ 8, 2X1 - X2 - X3 + X4 £ 6, -X1 + 3X2 + 5X3 - 3X4 = 15, Xj ³ 0, (j = 1 ¸ 4).
Для записи задачи в канонической форме поменяем знаки у всех коэффициентов функции цели на противоположные. Тогда задача будет заключаться в нахождении максимума целевой функции. Для приведения ограничений – неравенств к системе уравнений необходимо приравнять левые и правые части ограничений путем введения дополнительных переменных. Если левая часть ограничения меньше, чем правая, необходимо добавить дополнительную переменную, если же левая часть ограничения больше, из нее следует вычесть некоторое, пока неизвестное, значение.
f(x) = Х1 - 2Х2 + Х3 - Х4 + 0×Х5 + 0×Х6 + 0×Х7 ® max,
3X1 - X2 + 2X3 + 2X4 + X5 = 10, X1 + 2X2 + X3 - X4 - X6 = 8, 2X1 - X2 - X3 + X4 + X7 = 6, -X1 + 3X2 + 5X3 - 3X4 = 15, Xj ³ 0.
Свойства задачи линейного программирования: 1. Множество планов задачи линейного программирования, если оно не пусто, образует выпуклый многогранник. Любая точка внутри области, ограниченной этим многогранником, является допустимым решением задачи. 2. В одной из вершин многогранника решений целевая функция принимает максимальное значение (при условии, что функция ограничена сверху на множестве планов). 3. Если максимальное значение функция принимает более, чем в одной вершине, то это же значение она принимает в любой точке, являющейся выпуклой линейной комбинацией данных вершин.
Геометрическая интерпретация задачи линейного программирования Рассмотрим следующую задачу: найти такие значения переменных Х1 и Х2, которые максимизируют функцию цели
f(x) = C1 × Х1 + C2 × Х2 ® max (1)
при выполнении ограничений
аi1 × Х1 + аi2 × Х2 £ bi; (i = ); (2)
условие неотрицательности Х1 ³ 0, Х2 ³ 0. (3) Каждое неравенство 2 и 3 системы ограничений геометрически представляет собой полуплоскость с граничными прямыми:
аi1 × Х1 + аi2 × Х2 = bi (i = ), - оси координат (решение получаем в I квадрате). В том случае, если система неравенств 2 и 3 совместна, то область ее решений есть множество точек, принадлежащих всем указанным полуплоскостям. А так как множество точек пересечения данных полуплоскостей – выпуклое, то область допустимых решений задачи 1 – 3 есть выпуклое множество, которое называется многоугольником решений. Стороны этого многоугольника лежат на прямых, уравнения которых получают из исходной системы ограничений заменой знаков неравенств на знаки точных равенств. Таким образом, исходная задача линейного программирования состоит в нахождении такой точки многоугольника решений, в которой функция цели f(x) принимает максимальное значение. Эта точка существует тогда, когда многоугольник решений не пуст и функция цели ограничена сверху. При указанных условиях в одной из вершин многоугольника функция цели принимает максимальное значение. Для определения данной вершины строится вектор-нормаль с координатами – коэффициентами функции цели . Перпендикулярно вектору-нормали построим линию уровня C1 × Х1 + C2 × Х2 = h (где h – некоторое число, которое подбирается таким, чтобы эта линия уровня проходила через многоугольник решений). Будем передвигать линию уровня в направлении вектора –нормали до тех пор, пока она не дойдет до последней общей точки с многоугольником решений. Координаты этой точки и определяют оптимальный план – решение задачи. Координаты этой точки А находятся следующим образом: решается система уравнений, которые соответствуют линиям-ограничениям, на пересечении которых эта точка находится. Подставляя значения координат этой точки в функцию цели, получаем максимальное значение целевой функции. Для нахождения минимума функции цели линия уровня передвигается не в направлении вектора-нормали, а в противоположном направлении. При нахождении решения задачи 1 – 3 возможны следующие случаи: 1. Единственное оптимальное решение – в точке А функция цели принимает максимальное значение
Х2
А С2 - линия уровня (f(х) ® max) f(х) = 0 - вектор- область допустимых значений нормаль 0 С1 Х1
2. Множество точек на отрезке DВ – оптимальное решение
Х2 линия уровня (f(х) ® min)
D
В 0 Х1
3. Функция цели не ограничена сверху на множестве допустимых решений Х2
- линия уровня (f(х)max = + ¥)
Х1
4. Система ограничений задачи несовместна. Условия противоречивы. Многоугольник решений пуст. Решения нет.
Х2
0 Х1
Пример. Найти решение задачи графическим и аналитическим методами: f(x) = 2X1 + X2 ® max, -2X1 + X2 £ 2, X1 + X2 £ 4, X1 - X2 £ 1, X1 ³ 0, X2 ³ 0.
Решение.
равняв нулю переменную Х1, найдем значение переменной Х2 – координаты второй точки (0; 2). Для того, чтобы определить, с какой стороны от проведенной линии находится область допустимых значений, необходимо подставить в неравенство координаты какой-нибудь точки пространства, например начала координат (Х1 = 0, Х2 = 0). Полученное значение – ноль, меньше чем два (правая часть ограничения), а значит, точка начала координат принадлежит искомой полуплоскости. Повторим построения для всех остальных ограничений задачи и получим многоугольник решений ОDАВЕ. Построим вектор-нормаль, выходящий из начала координат в направлении точки с координатами – коэффициентами функции цели (Х1 = 2, Х2 = 1) или пропорциональными этим координатам (Х1 = 1, Х2 = 0,5). Линия уровня (соответствующая функции цели) строится перпендикулярно вектору-нормали или же функция цели приравнивается какому-либо числу, например f(x) = 2X1 + X2 = 2 и проводится соответствующая линия. Передвинем линию уровня в направлении, указанном вектором. В результате находим точку А, в которой целевая функция принимает максимальное значение. Находим координаты этой точки. Для этого решим систему уравнений, которые соответствуют прямым, на пересечении которых находится точка А:
X1 + X2 = 4, X1 - X2 = 1.
Проведем сложение двух уравнений, получим
2X1 = 5, откуда X1 = 2,5.
Вычтем из первого уравнения второе, получим
2X2 = 3, откуда X2 = 1,5.
Вычислим значение функции цели в точке А(2,5; 1,5)
f(x)max = 2 × 2,5 + 1,5 = 6,5.
Date: 2015-07-24; view: 452; Нарушение авторских прав |