Смекни!
smekni.com

Графический метод и симплекс-метод решения задач линейного программирования (стр. 1 из 5)

СОДЕРЖАНИЕ

ВВЕДЕНИЕ

1. Геометрический метод решения задач ЛП

2. Симплекс-метод

2.1 Идея симплекс-метода

2.2 Реализация симплекс-метода на примере

2.3 Табличная реализация простого симплекс-метода

ЗАКЛЮЧЕНИЕ

СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

ВВЕДЕНИЕ

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

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

Процесс формализации задачи называется построением ее математической модели. Он состоит из трех этапов.

1. Выбор параметров задачи, от которых зависит решение. Эти параметры называют управляющими переменными и обозначают

, формируя из них вектор
. Принять решение – это значит задать конкретные значения переменных.

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

.

3. Описание всего множества Xдопустимых значений переменных – ограничений, связанных с наличием материальных ресурсов, финансовых средств, технологическими возможностями и т.п..

Математическая задача оптимизации состоит в нахождении такого допустимого решения

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

.

1. Геометрический метод решения задач ЛП

Этот метод часто используется при решении задач, в которых только две неизвестных величины. Разберем его на следующих примерах:

Пример 1.1. (Задача о производстве красок).

Небольшая фабрика изготовляет два вида красок: INT - для внутренних работ и EXT - для наружных работ. В производстве красок используются два исходных продукта А и В. Из-за малой площади склада максимально возможные суточные запасы этих продуктов равны 6 т. и 8 т. соответственно. На производство 1 тонны краски INT расходуется 1 тонна продукта А и 2тонны продукта В, а на изготовление 1 тонны краски EXT идет 2 тонны продукта А и 1 тонна продукта В. Фабрика продает краску по цене 3тыс. долл. за тонну краски INT и 2 тыс. долл. за тонну краски EXT. Исходные данные удобно свести в таблицу:

Исходные продукты Расход продукта на 1 т. краски Запас продуктов
INT EXT
A 1 2 6
B 2 1 8
Цена 1т. краски 3 тыс. долл. 2 тыс. долл.

Изучение рынка сбыта показало, что суточный спрос на краску EXT никогда не превышает спрос на краску INT, более чем на 1 тонну. Какое количество краски каждого вида должна производить фабрика в сутки, чтобы доход от реализации продукции был максимален?

Построим математическую модель задачи. Для этого надо определить переменные задачи, целевую функцию и ограничения, которым удовлетворяют переменные. Обозначим через x1 - планируемый суточный объем производства краски INT, а через x2 - суточный объем производства краски EXT. Целевая функция f(x) будет выражать суточный доход от продажи краски, равный 3x1 + 2x2 (тыс. долл.). Этот доход подлежит максимизации

f(x)= 3x1 + 2x2 ®max.

Построим ограничения задачи, связанные с ограниченными запасами продуктов А и В. На производство краски INT в количестве x1(т) будет использовано 1x1(т) продукта А, а на производство краски EXT в объеме x2 (т) будет затрачено 2x2 (т) продукта А. Поскольку суточный запас продукта А равен 6 т., то расход продукта А на изготовление красок двух видов не может превышать в сутки этой величины: 1x1+ 2x2£ 6. Аналогично получим ограничение, связанное с запасом продукта В: 2x1+1x2£ 8. Ограничение по соотношению спроса на краски можно описать неравенством: x2 - x1 £ 1. Учитывая естественные условия неотрицательности объемов выпуска продукции, окончательно получим следующую задачу линейного программирования

f(x) = 3 x1 + 2 x2® max (1.1)

1 x1 + 2 x2£ 6, (1.2)

2 x1 + 1 x2£ 8, (1.3)

- x1 + x2£ 1, (1.4)

x1³ 0, x2³ 0. (1.5)

Построим множество планов задачи, описываемое ограничениями (1.2)-(1.5). Рассмотрим первое неравенство. Оно задает некоторую полуплоскость, расположенную по одну сторону от граничной прямой

p1: 1x1+2x2=6

Построим эту прямую на плоскости с координатными осями x1и x2. Для проведения прямой достаточно знать две ее точки. Проще всего найти точки пересечения прямой с осями координат. Полагая x1 = 0, из уравнения прямой получим x2 = 3, а при x2 = 0 найдем x1 = 6. Таким образом прямая p1пройдет через точки (0,3) и (6,0). Чтобы определить, по какую сторону от прямой расположена искомая полуплоскость, достаточно подставить в неравенство (1.2) координаты любой точки плоскости. Если прямая не проходит через начало координат, то удобнее всего взять точку (0, 0). Очевидно, что в этой точке неравенство (1.2) строго выполняется (1* 0 + 2* 0 < 6), значит полуплоскость, определяемая этим неравенством, лежит ниже прямой p1, включая в себя начало координат. Искомую полуплоскость отметим штриховкой (рис.1.1).

Аналогично построим полуплоскость, задаваемую неравенством (1.3). Для этого нанесем на координатную плоскость граничную прямую

p2: 2x1+x2=8,

найдя ее точки пересечения с осями координат: (0,8) и (4,0).

Подставляя координаты точки (0,0) в неравенство (2.3), видим, что начало координат лежит в искомой полуплоскости (2* 0 + 1* 0 < 8), значит все точки, удовлетворяющие неравенству (2.3), расположены левее прямой p2. Отметим эту область штриховкой (рис.1.1).

Точки, задаваемые ограничением (4), находятся ниже прямой

p3: -x1+x2=1,

проходящей через точки (0, 1) и (-1, 0).

Наконец, условия неотрицательности: x1³ 0, x2³0 задают все точки первой четверти, что также отметим штриховкой.

Выделяя теперь точки плоскости, удовлетворяющие всем ограничениям задачи (1.1)-(1.5), то есть расположенные одновременно во всех заштрихованных полуплоскостях, получаем множество планов X. Оно представляет собой многоугольник (в данной задаче - пятиугольник). Его стороны лежат на прямых, уравнения которых получаются из исходной системы неравенств (1.2)-(1.5) заменой знаков неравенств на строгие равенства.

Рис. 1.1

Для графического представления целевой функции введем понятие линии уровня (изолинии функции).

Определение. Линией уровня (изолинией) функции f(x) называется множество точек x = (x1,x2), в которых она принимает одно и то же постоянное значение f(x) = h, где h - некоторое число. Для линейной функции двух переменных f(x) = c1 x1 + c2 x2 линия уровня, соответствующая числу h, будет представлять прямую с уравнением

c1 x1 + c2 x2 = h(1.6)

При изменении числа h будем получать семейство линий уровня (параллельных прямых) с одним и тем же направляющим вектором c = =(c1, c2), перпендикулярным всем прямым. Известно, что вектор c = (c1, c2) для линейной функции f(x) = c1 x1 +c2 x2 указывает направление ее возрастания. Геометрически это означает, что при параллельном перемещении прямой (1.6) в направлении целевого вектора c значение целевой функции возрастает.

Построим линии уровня целевой функции f(x) = 3x1 + 2 x2 в нашей задаче. Их уравнения будут иметь вид 3x1 + 2 x2 = h. Они задают семейство параллельных прямых, зависящих от параметра h. Все прямые перпендикулярны целевому вектору c = (3, 2), составленному из коэффициентов целевой функции, поэтому для построения семейства линий уровня целевой функции достаточно построить ее целевой вектор, и провести несколько прямых, перпендикулярных этому вектору. Линии уровня будем проводить на множестве планов X, помня при этом, что при параллельном перемещении прямых в направлении целевого вектора c = (3, 2) значение функции f(x)= 3x1 + 2x2 будет возрастать. Поскольку в задаче оптимальный план должен доставлять целевой функции максимально возможное значение, то для решения задачи графически надо среди всех точек x = (x1,x2) множества планов X найти такую точку x* = (x1*,x2*), через которую пройдет последняя линия уровня в направлении целевого вектора c = (3,2). Из рисунка 1.2 видно, что искомой точкой будет точка, лежащая в вершине множества X, образованной пересечением прямых p1 и p2. Решая систему уравнений, описывающих эти прямые найдем оптимальный планx1* = 3 1/3, x2* = 1 1/3. При этом максимальное значение целевой функции будет равно f(x*) = 12 2/3. Таким образом, ежесуточно фабрика должна производить 3 1/3 тонн краски INT и 1 1/3 тонн краски EXT, получая при этом доход 12 2/3 тыс. долларов.