Построим на плоскости множество допустимых решений системы линейных неравенств и геометрически найдём минимальное значение целевой функции.

Строим в системе координат х 1 ох 2 прямые

Находим полуплоскости, определяемые системой. Так как неравенства системы выполняется для любой точки из соответствующей полуплоскости, то их достаточно проверить для какой-либо одной точки. Используем точку (0;0). Подставим её координаты в первое неравенство системы. Т.к. , то неравенство определяет полуплоскость, не содержащую точку (0;0). Аналогично определяем остальные полуплоскости. Находим множество допустимых решений как общую часть полученных полуплоскостей - это заштрихованная область.

Строим вектор и перпендикулярно к нему прямую нулевого уровня.


Перемещая прямую (5) в направлении вектора и видим, что у области максимальная точка будет в точке А пересечения прямой (3) и прямой (2). Находим решение системы уравнений:

Значит, получили точку (13;11) и.

Перемещая прямую (5) в направлении вектора и видим, что у области минимальная точка будет в точке В пересечения прямой (1) и прямой (4). Находим решение системы уравнений:

Значит, получили точку (6;6) и.

2. Мебельная фирма производит комбинированные шкафы и компьютерные столики. Их производство ограничено наличием сырья (высококачественных досок, фурнитуры) и временем работы обрабатывающих их станков. Для каждого шкафа требуется 5 м2 досок, для стола - 2 м2. На один шкаф расходуется фурнитуры на 10$, на один столик также на 8$. Фирма может получать от своих поставщиков до 600 м2 досок в месяц и фурнитуры на 2000$. Для каждого шкафа требуется 7 часов работы станков, для стола - 3 часа. В месяц возможно использовать всего 840 часов работы станков.

Сколько комбинированных шкафов и компьютерных столиков фирме следует выпускать в месяц для получения максимальной прибыли, если один шкаф приносит 100$ прибыли, а каждый стол - 50$?

  • 1. Составить математическую модель задачи и решить её симплексным методом.
  • 2. Составить математическую модель двойственной задачи, записать её решение исходя из решения исходной.
  • 3. Установить степень дефицитности используемых ресурсов и обосновать рентабельность оптимального плана.
  • 4. Исследовать возможности дальнейшего увеличения выпуска продукции в зависимости от использования каждого вида ресурсов.
  • 5. Оценить целесообразность введения нового вида продукции - книжных полок, если на изготовление одной полки расходуется 1 м 2 досок и фурнитуры на 5$,и требуется затратить 0,25 часа работы станков и прибыль от реализации одной полки составляет 20$.
  • 1. Построим математическую модель для данной задачи:

Обозначим через x 1 - объём производства шкафов, а х 2 - объём производства столиков. Составим систему ограничений и функцию цели:

Задачу решаем симплекс-методом. Запишем её в каноническом виде:

Запишем данные задачи в виде таблицы:

Таблица 1

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

КОНТРОЛЬНАЯ РАБОТА ПО ДИСЦИПЛИНЕ:

«МЕТОДЫ ОПТИМАЛЬНЫХ РЕШЕНИЙ»

Вариант № 8

1. Решить графическим методом задачу линейного программирования. Найти максимум и минимум функции при заданных ограничениях:

,

.

Решение

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

9x 1 +3x 2 ≥30, (1)

X 1 +x 2 ≤4, (2)

x 1 +x 2 ≤8, (3)

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

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

Построим прямую, отвечающую значению функции F = 0: F = 2x 1 +3x 2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление минимизации F(X). Начало вектора – точка (0; 0), конец – точка (2; 3). Будем двигать эту прямую параллельным образом. Поскольку нас интересует минимальное решение, поэтому двигаем прямую до первого касания обозначенной области. На графике эта прямая обозначена пунктирной линией.

Прямая
пересекает область в точке C. Так как точка C получена в результате пересечения прямых (4) и (1), то ее координаты удовлетворяют уравнениям этих прямых:
.

Решив систему уравнений, получим: x 1 = 3.3333, x 2 = 0.

Откуда найдем минимальное значение целевой функции: .

Рассмотрим целевую функцию задачи .

Построим прямую, отвечающую значению функции F = 0: F = 2x 1 +3x 2 = 0. Вектор-градиент, составленный из коэффициентов целевой функции, указывает направление максимизации F(X). Начало вектора – точка (0; 0), конец – точка (2; 3). Будем двигать эту прямую параллельным образом. Поскольку нас интересует максимальное решение, поэтому двигаем прямую до последнего касания обозначенной области. На графике эта прямая обозначена пунктирной линией.

Прямая
пересекает область в точке B. Так как точка B получена в результате пересечения прямых (2) и (3), то ее координаты удовлетворяют уравнениям этих прямых:

.

Откуда найдем максимальное значение целевой функции: .

Ответ:
и
.

2 . Решитьзадачу линейного программирования симплекс-методом:

.

Решение

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

Определим минимальное значение целевой функции
при следующих условиях-ограничений:
.

Для построения первого опорного плана систему неравенств приведем к системе уравнений путем введения дополнительных переменных.

В 1-м неравенстве смысла (≥) вводим базисную переменную x 3 со знаком минус. В 2-м неравенстве смысла (≤) вводим базисную переменнуюx 4 . В 3-м неравенстве смысла (≤) вводим базисную переменную x 5 .

Введем искусственные переменные : в 1-м равенстве вводим переменнуюx 6 ;

Для постановки задачи на минимум целевую функцию запишем так: .

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

Полученный базис называется искусственным, а метод решения называется методом искусственного базиса.

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

Из уравнений выражаем искусственные переменные: x 6 = 4-x 1 -x 2 +x 3 , которые подставим в целевую функцию: или.

Матрица коэффициентов
этой системы уравнений имеет вид:
.

Решим систему уравнений относительно базисных переменных: x 6 , x 4 , x 5.

Полагая, что свободные переменные равны 0, получим первый опорный план:

X1 = (0,0,0,2,10,4)

Базисное решение называется допустимым, если оно неотрицательно.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 4

x 5

Текущий опорный план не оптимален, так как в индексной строке находятся положительные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x 2 , так как это наибольший коэффициент. Вычислим значенияD i и из них выберем наименьшее: min(4: 1 , 2: 2 , 10: 2) = 1.

Следовательно, 2-ая строка является ведущей.

Разрешающий элемент равен (2) и находится на пересечении ведущего столбца и ведущей строки.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 4

x 5

Формируем следующую часть симплексной таблицы. Вместо переменной x 4 в план 1 войдет переменная x 2 .

Строка, соответствующая переменной x 2 в плане 1, получена в результате деления всех элементов строки x 4 плана 0 на разрешающий элемент РЭ=2. На месте разрешающего элемента получаем 1. В остальных клетках столбца x 2 записываем нули.

Таким образом, в новом плане 1 заполнены строка x 2 и столбец x 2 . Все остальные элементы нового плана 1, включая элементы индексной строки, определяются по правилу прямоугольника.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

x 2

x 5

1 1 / 2 +1 1 / 2 M

Текущий опорный план неоптимален, так как в индексной строке находятся положительные коэффициенты. В качестве ведущего выберем столбец, соответствующий переменной x 1 , так как это наибольший коэффициент. Вычислим значенияD i по строкам как частное от деления:и из них выберем наименьшее: min (3: 1 1 / 2 , - , 8: 2) = 2.

Следовательно, 1-ая строка является ведущей.

Разрешающий элемент равен (1 1 / 2) и находится на пересечении ведущего столбца и ведущей строки.

x 1

x 2

x 3

x 4

x 5

x 6

x 6

1 1 / 2

x 2

x 5

-1 1 / 2 +1 1 / 2 M

Формируем следующую часть симплексной таблицы. Вместо переменной x 6 в план 2 войдет переменная x 1 .

Получаем новую симплекс-таблицу:

x 1

x 2

x 3

x 4

x 5

x 6

x 1

x 2

x 5

Среди значений индексной строки нет положительных. Поэтому эта таблица определяет оптимальный план задачи.

Окончательный вариант симплекс-таблицы:

x 1

x 2

x 3

x 4

x 5

x 6

x 1

x 2

x 5

Так как в оптимальном решении отсутствуют искусственные переменные (они равны нулю), то данное решение является допустимым.

Оптимальный план можно записать так: x 1 = 2, x 2 = 2:.

Ответ :
,
.

3. Фирма «Три толстяка» занимается доставкой мясных консервов с трёх складов, расположенных в разных точках города в три магазина. Запасы консервов, имеющиеся на складах, а также объёмы заказов магазинов и тарифы на доставку (в условных денежных единицах) представлены в транспортной таблице.

Найти план перевозок, обеспечивающий наименьшие денежные затраты (первоначальный план перевозок выполнить по методу «северо-западного угла»).

Решение

Проверим необходимое и достаточное условие разрешимости задачи:

= 300 + 300 + 200 = 800 .

= 250 + 400 + 150 = 800.

Условие баланса соблюдается. Запасы равны потребностям. Следовательно, модель транспортной задачи является закрытой.

Занесем исходные данные в распределительную таблицу.

Потребности

Используя метод северо-западного угла, построим первый опорный план транспортной задачи.

План начинается заполняться с верхнего левого угла.

Искомый элемент равен 4. Для этого элемента запасы равны 300, потребности 250. Поскольку минимальным является 250, то вычитаем его: .

300 - 250 = 50

250 - 250 = 0

Искомый элемент равен 2. Для этого элемента запасы равны 50, потребности 400. Поскольку минимальным является 50, то вычитаем его: .

50 - 50 = 0

400 - 50 = 350

Искомый элемент равен 5. Для этого элемента запасы равны 300, потребности 350. Поскольку минимальным является 300, то вычитаем его:

300 - 300 = 0

350 - 300 = 50

Искомый элемент равен 3. Для этого элемента запасы равны 200, потребности 50. Поскольку минимальным является 50, то вычитаем его:

200 - 50 = 150

50 - 50 = 0

Искомый элемент равен 6. Для этого элемента запасы равны 150, потребности 150. Поскольку минимальным является 150, то вычитаем его:

150 - 150 = 0

150 - 150 = 0

Потребности

Решение : найдем максимальное и минимальное значение функции \(f (x, y)\) при следующих ограничениях $$ f(x,y)=(x-4)^2 + (y-3)^2 \rightarrow max,min \\ \begin{cases} 2x+3y\geq 6 \\ 3x-2y\leq 18\\ -x+2y\leq 8\\ x,y\geq0\end{cases} $$
Графический способ решения задачи целесообразно использовать, для задач с двумя переменными, которые записаны в симметричной форме, а также для задач со многими переменными при условии, что в их канонической записи содержится не более двух свободных переменных.


В данном случае задача с двумя переменными.


Алгоритм решения задачи "геометрическая интерпретация задачи линейного программирования":


1.Построим на плоскости xOy область допустимых решений.
2.Выделим область неотрицательных решений.

4. Построим семейство целевых функций.
5. Находим максимальное (минимальное) значение целевой функции.


1. Строим область допустимых решений задачи \(D\).


Для построения области допустимых решений:
1) Строим граничные прямые:
преобразуем неравенства к равенствам, а затем к уравнению прямой линии в отрезках на осях вида \(\frac{x}{a}+\frac{y}{b} = 1\), тогда \(x=a\) - отрезок отсекаемый на оси Ox, \(y=b\) - на оси Oy $$ \begin{cases} 2x+3y = 6 \\ 3x-2y = 18\\ -x+2y = 8 \end{cases} => \begin{cases} \frac{x}{3}+\frac{y}{2} = 1 \\ \frac{x}{8}-\frac{y}{9} = 1 \\ -\frac{x}{6}+ \frac{y}{4} = 1 \end{cases} $$ Для каждой прямой откладываем отрезки на осях и соединяем их. Получили нужные прямые.


2) Находим полуплоскости, которые удовлетворяют заданным неравенствам:
Для неравенства \(2x+3y\geq 6\) - полуплоскость, которая лежит выше прямой \(2x+3y = 6\). Прямая AC
Для неравенства \(3x-2y\leq 18 => -3x+2y \geq -18\)- полуплоскость, которая лежит выше прямой \(3x-2y = 18\). Прямая CB
Для неравенства \(-x+2y\leq 8\)- полуплоскость, которая лежит ниже прямой \(-x+2y = 8\). Прямая AB


Область допустимых решений определяется как общая часть трех полуплоскостей, соответствующих данным неравенствам. Эта область представляет собой треугольник \(ABC\)


Областью \(D\) является треугольник \(ABC\) см. рис.



2.Выделим область неотрицательных решений.


Область неотрицательных решений расположена в первой четверти и является общей частью всех пяти полуплоскостей, три их которых - область \(D\), полученная из неравенств и дополнительно два неравенства \(x \geq 0\) - верхняя полуплоскость (I и II четверти) и \(y \geq 0\) - правая полуплоскость (I и IV четверти), которые выражают условие неотрицательности переменных \(x;y\). Получили искомую область неотрицательных решений \(DEBFG\)


3.Найдем координаты вершин области.
Координаты четырех вершин уже известны (это точки пересечения прямых с осями).
Запишем эти координаты:
\(D(0;2)\), \(E(0;4)\), \(F(6;0)\), \(G(3;0)\)
Найдем координаты точки \(B\), как точки пересечения прямых \(-x+2y = 8\) и \(3x-2y = 18\). Решим систему уравнений и найдем координаты этой точки $$\begin{cases} -x+2y = 8\\ 3x-2y = 18\end{cases}=> \begin{cases} 2x = 26\\ 3x-2y = 18\end{cases}=> \begin{cases} x = 13\\ y =10.5\end{cases}$$
Получили координаты точки \(B(13;10.5)\)


4. Строим семейство целевых функций.
Уравнение \(f(x,y)=(x-4)^2 + (y-3)^2 \rightarrow max,min\) определяет на плоскости xOy семейство концентрических окружностей с центом в точке с координатами \(Q(4;3)\), каждой из которых отвечает определенное значение параметра \(f\). Как известно, для уравнения окружности параметр \(f=R^2\).


Изобразим в одной системе координат семейство концентрических окружностей \(f\) и семейство прямых. Задача определения точки максимума (минимума) точки \(f\) сведется к нахождению в допустимой области точки, через которую проходит окружность семейства \(f=const\), отвечающая за наибольшее (наименьшее) значение параметра \(f\).


5. Находим максимальное (минимальное) значение целевой функции.


Минимальное значение целевой функции : Путем постепенного увеличения радиуса окружности мы получили, что первая вершина, через которую пройдет окружность это точка \(G(3;0)\). Целевая функция в этой точке будет минимальной и равна \(f(3,0)=(3-4)^2 + (0-3)^2 = 10\)


Максимальное значение целевой функции : Путем дальнейшего увеличения радиуса окружности мы получили, что последняя вершина, через которую пройдет окружность это точка \(B(13;10.5)\). Целевая функция в этой точке будет максимальной и равна \(f(13,10.5)=(13-4)^2 + (10.5-3)^2 = 137.25\)


Можно убедиться в правильности решения путем подстановки координат оставшихся вершин в уравнение целевой функции:
в вершине \(D(0;2)\) значение целевой функции равно \(f(0,2)=(0-4)^2 + (2-3)^2 = 17\)
в вершине \(E(0;4)\) значение целевой функции равно \(f(0,4)=(0-4)^2 + (4-3)^2 = 17\)
в вершине \(F(6;0)\) значение целевой функции равно \(f(6,4)=(6-4)^2 + (0-3)^2 = 13\)
Получили, что


Ответ :
минимальное значение целевой функции \(f_{min} = 10\)
максимальное значение целевой функции \(f_{max} = 137.25\)

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

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

Скачать заметку в формате , рисунки в формате

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

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

Рассмотрим пример построения математической модели линейного программирования

Николай Кузнецов управляет небольшим механическим заводом. В будущем месяце он планирует изготавливать два продукта (А и В), по которым удельная маржинальная прибыль оценивается в 2500 и 3500 руб., соответственно.

Изготовление обоих продуктов требует затрат на машинную обработку, сырье и труд (рис. 1). На изготовление каждой единицы продукта А отводится 3 часа машинной обработки, 16 единиц сырья и 6 единиц труда. Соответствующие требования к единице продукта В составляют 10, 4 и 6. Николай прогнозирует, что в следующем месяце он может предоставить 330 часов машинной обработки, 400 единиц сырья и 240 единиц труда. Технология производственного процесса такова, что не менее 12 единиц продукта В необходимо изготавливать в каждый конкретный месяц.

Рис. 1. Использование и предоставление ресурсов

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

Линейная модель может быть построена в четыре этапа.

Этап 1. Определение переменных

Существует целевая переменная (обозначим её Z), которую необходимо оптимизировать, то есть максимизировать или минимизировать (например, прибыль, выручка или расходы). Николай стремится максимизировать маржинальную прибыль, следовательно, целевая переменная:

Z = суммарная маржинальная прибыль (в рублях), полученная в следующем месяце в результате производства продуктов А и В.

Существует ряд неизвестных искомых переменных (обозначим их х 1 , х 2 , х 3 и пр.), чьи значения необходимо определить для получения оптимальной величины целевой функции, которая, в нашем случае является суммарной маржинальной прибылью. Эта маржинальная прибыль зависит от количества произведенных продуктов А и В. Значения этих величин необходимо рассчитать, и поэтому они представляют собой искомые переменные в модели. Итак, обозначим:

х 1 = количество единиц продукта А, произведенных в следующем месяце.

х 2 = количество единиц продукта В, произведенных в следующем месяце.

Очень важно четко определить все переменные величины; особое внимание уделите единицам измерения и периоду времени, к которому относятся переменные.

Этап. 2. Построение целевой функции

Целевая функция – это линейное уравнение, которое должно быть или максимизировано или минимизировано. Оно содержит целевую переменную, выраженную с помощью искомых переменных, то есть Z выраженную через х 1 , х 2 … в виде линейного уравнения.

В нашем примере каждый изготовленный продукт А приносит 2500 руб. маржинальной прибыли, а при изготовлении х 1 единиц продукта А, маржинальная прибыль составит 2500 * х 1 . Аналогично маржинальная прибыль от изготовления х 2 единиц продукта В составит 3500 * х 2 . Таким образом, суммарная маржинальная прибыль, полученная в следующем месяце за счет производства х 1 единиц продукта А и х 2 единиц продукта В, то есть, целевая переменная Z составит:

Z = 2500 * х 1 + 3500 *х 2

Николай стремится максимизировать этот показатель. Таким образом, целевая функция в нашей модели:

Максимизировать Z = 2500 * х 1 + 3500 *х 2

Этап. 3. Определение ограничений

Ограничения – это система линейных уравнений и/или неравенств, которые ограничивают величины искомых переменных. Они математически отражают доступность ресурсов, технологические факторы, условия маркетинга и иные требования. Ограничения могут быть трех видов: «меньше или равно», «больше или равно», «строго равно».

В нашем примере для производства продуктов А и В необходимо время машинной обработки, сырье и труд, и доступность этих ресурсов ограничена. Объемы производства этих двух продуктов (то есть значения х 1 их 2) будут, таким образом, ограничены тем, что количество ресурсов, необходимых в производственном процессе, не может превышать имеющееся в наличии. Рассмотрим ситуацию со временем машинной обработки. Изготовление каждой единицы продукта А требует трех часов машинной обработки, и если изготовлено х 1 , единиц, то будет потрачено З * х 1 , часов этого ресурса. Изготовление каждой единицы продукта В требует 10 часов и, следовательно, если произведено х 2 продуктов, то потребуется 10 * х 2 часов. Таким образом, общий объем машинного времени, необходимого для производства х 1 единиц продукта А и х 2 единиц продукта В, составляет 3 * х 1 + 10 * х 2 . Это общее значение машинного времени не может превышать 330 часов. Математически это записывается следующим образом:

3 * х 1 + 10 * х 2 ≤ 330

Аналогичные соображения применяются к сырью и труду, что позволяет записать еще два ограничения:

16 * х 1 + 4 * х 2 ≤ 400

6 * х 1 + 6 * х 2 ≤ 240

Наконец следует отметить, что существует условие, согласно которому должно быть изготовлено не менее 12 единиц продукта В:

Этап 4. Запись условий неотрицательности

Искомые переменные не могут быть отрицательными числами, что необходимо записать в виде неравенств х 1 ≥ 0 и х 2 ≥ 0. В нашем примере второе условия является избыточным, так как выше было определено, что х 2 не может быть меньше 12.

Полная модель линейного программирования для производственной задачи Николая может быть записана в виде:

Максимизировать: Z = 2500 * х 1 + 3500 *х 2

При условии, что: 3 * х 1 + 10 * х 2 ≤ 330

16 * х 1 + 4 * х 2 ≤ 400

6 * х 1 + 6 * х 2 ≤ 240

Рассмотрим графический метод решения задачи линейного программирования.

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

Оси на графике представляют собой две искомые переменные (рис. 2). Не имеет значения, какую переменную отложить вдоль, какой оси. Важно выбрать масштаб, который в конечном итоге позволит построить наглядную диаграмму. Поскольку обе переменные должны быть неотрицательными, рисуется только I-й квадрант.

Рис. 2. Оси графика линейного программирования

Рассмотрим, например, первое ограничение: 3 * х 1 + 10 * х 2 ≤ 330. Это неравенство описывает область, лежащую ниже прямой: 3 * х 1 + 10 * х 2 = 330. Эта прямая пересекает ось х 1 при значении х 2 = 0, то есть уравнение выглядит так: 3 * х 1 + 10 * 0 = 330, а его решение: х 1 = 330 / 3 = 110

Аналогично вычисляем точки пересечения с осями х 1 и х 2 для всех условий-ограничений:

Область допустимых значений Граница допустимых значений Пересечение с осью х 1 Пересечение с осью х 2
3 * х 1 + 10 * х 2 ≤ 330 3 * х 1 + 10 * х 2 = 330 х 1 = 110; х 2 = 0 х 1 = 0; х 2 = 33
16 * х 1 + 4 * х 2 ≤ 400 16 * х 1 + 4 * х 2 = 400 х 1 = 25; х 2 = 0 х 1 = 0; х 2 = 100
6 * х 1 + 6 * х 2 ≤ 240 6 * х 1 + 6 * х 2 = 240 х 1 = 40; х 2 = 0 х 1 = 0; х 2 = 40
х 2 ≥ 12 х 2 = 12 не пересекает; идет параллельно оси х 1 х 1 = 0; х 2 = 12

Графически первое ограничение отражено на рис. 3.

Рис. 3. Построение области допустимых решений для первого ограничения

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

Аналогично отражаем на графике остальные ограничения (рис. 4). Значения х 1 и х 2 на или внутри заштрихованной области ABCDE будут соответствовать всем ограничениям модели. Такая область называется областью допустимых решений.

Рис. 4. Область допустимых решений для модели в целом

Теперь в области допустимых решений необходимо определить значения х 1 и х 2 , которые максимизируют Z. Для этого в уравнении целевой функции:

Z = 2500 * х 1 + 3500 *х 2

разделим (или умножим) коэффициенты перед х 1 и х 2 на одно и тоже число, так чтобы получившиеся значения попали в диапазон, отражаемый на графике; в нашем случае такой диапазон – от 0 до 120; поэтому коэффициенты можно разделить на 100 (или 50):

Z = 25х 1 + 35х 2

затем присвоим Z значение равное произведению коэффициентов перед х 1 и х 2 (25 * 35 = 875):

875 = 25х 1 + 35х 2

и, наконец, найдем точки пересечения прямой с осями х 1 и х 2:

Нанесем это целевое уравнение на график аналогично ограничениям (рис. 5):

Рис. 5. Нанесение целевой функции (черная пунктирная линия) на область допустимых решений

Значение Z постоянно на всем протяжении линии целевой функции. Чтобы найти значения х 1 и х 2 , которые максимизируют Z, нужно параллельно переносить линию целевой функции к такой точке в границах области допустимых решений, которая расположена на максимальном удалении от исходной линии целевой функции вверх и вправо, то есть к точке С (рис. 6).

Рис. 6. Линия целевой функции достигла максимума в пределах области допустимых решений (в точке С)

Можно сделать вывод, что оптимальное решение будет находиться в одной из крайних точек области принятия решения. В какой именно, будет зависеть от угла наклона целевой функции и от того, какую задачу мы решаем: максимизации или минимизации. Таким образом, не обязательно чертить целевую функцию – все, что необходимо, это определить значения х 1 и х 2 в каждой из крайних точек путем считывания с диаграммы или путем решения соответствующей пары уравнений. Найденные значения х 1 и х 2 затем подставляются в целевую функцию для расчета соответствующей величины Z. Оптимальным решением является то, при котором получена максимальная величина Z при решении задачи максимизации, и минимальная – при решении задачи минимизации.

Определим, например значения х 1 и х 2 в точке С. Заметим, что точка С находится на пересечении линий: 3х 1 + 10х 2 = 330 и 6х 1 + 6х 2 = 240. Решение этой системы уравнений дает: х 1 = 10, х 2 = 30. Результаты расчета для всех вершин области допустимых решений приведены в таблице:

Точка Значение х 1 Значение х 2 Z = 2500х 1 + 3500х 2
А 22 12 97 000
В 20 20 120 000
С 10 30 130 000
D 0 33 115 500
E 0 12 42 000

Таким образом, Николай Кузнецом должен запланировать на следующий месяц производство 10 изделий А и 30 изделий В, что позволит ему получить маржинальную прибыль в размере 130 тыс. руб.

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

  1. Начертите на графике две оси, представляющие собою два параметра решения; нарисуйте только I-й квадрант.
  2. Определите координаты точек пересечения всех граничных условий с осями, подставляя в уравнения граничных условий поочередно значения х 1 = 0 и х 2 = 0.
  3. Нанести линии ограничений модели на график.
  4. Определите на графике область (называемую допустимой областью принятия решения), которая соответствует всем ограничениям. Если такая область отсутствует, значит, модель не имеет решения.
  5. Определите значения искомых переменных в крайних точках области принятия решения, и в каждом случае рассчитайте соответствующее значение целевой переменной Z.
  6. Для задач максимизации решение – точка, в которой Z максимально, для задач минимизации, решение – точка, в которой Z минимально.
Федеральное агентство по образованию

Государственное бюджетное образовательное учреждение

высшего профессионального образования

«Омский государственный технический университет»

РАСЧЕТНО-ГРАФИЧЕСКАЯ РАБОТА

по дисциплине « ТЕОРИЯ ОПТИМАЛЬНОГО УПРАВЛЕНИЯ »

на тему « МЕТОДЫ ОПТИМИЗАЦИИ И ИССЛЕДОВАНИЕ ОПЕРАЦИЙ »

вариант 7

Выполнил:

студент заочного отделения

4-го курса группы ЗА-419

ФИО: Кужелев С. А.

Проверила:

Девятерикова М. В.

Омск – 2012 г.
^

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


7) 7x 1 + 6x 2 → max

20x 1 + 6x 2 ≤ 15

16x 1 − 2x 2 ≤ 18

8x 1 + 4x 2 ≤ 20

13x 1 + 3x 2 ≤ 4

x 1 , x 2 ≥ 0.


Шаг 1. Построение допустимой области

Условия неотрицательности переменных и квадратов ограничивают область их допустимых значений первым квадрантом. Каждому из оставшихся четырех ограничений-неравенств модели соответствует некоторая полуплоскость. Пересечение этих полуплоскостей с первым квадрантом образует множество допустимых решений задачи.

Первое ограничение модели имеет вид . Заменив в нем знак ≤ на знак =, получаем уравнение. На рис. 1.1 оно определяет прямую (1), которая разбивает плоскость на две полуплоскости, в данном случае выше линии и ниже нее. Чтобы выбрать, какая из них удовлетворяет неравенству , подставим в него координаты любой точки, не лежащей на данной прямой (например, начало координат х 1 = 0, х 2 = 0). Так как получаем верное выражение (20 0 + 6 0 = 0 ≤15), то неравенству удовлетворяет полуплоскость, содержащая начало координат (помечена стрелкой). В противном случае другая полуплоскость.

Аналогично поступаем с остальными ограничениями задачи. Пересечение всех построенных полуплоскостей с первым квадрантом образует ABCD (см. рис. 1). Это и есть допустимая область задачи.

Шаг 2. Построение линии уровня Линия уровня целевой функции - это множество точек плоскости, в которых целевая функция принимает постоянное значение. Такое множество задается уравнением f ( x ) = const . Положим, например, const = 0 и построим линию у ровня f ( x ) = 0 , т.е. в нашем случае прямую 7x 1 + 6x 2 = 0.

Данная прямая проходит через начало координат и перпендикулярна вектору . Этот вектор является градиентом целевой функции в точке (0,0). Градиент функции - это вектор значений частных производных данной функции в рассматриваемой точке. В случае задачи ЛП частные производные целевой функции равны коэффициентам C i, j = 1 , ..., n .

Градиент показывает направление наискорейшего роста функции. Перемещая линию уровня целевой функции f ( x ) = const . перпендикулярно направлению градиента, найдем последнюю точку, в которой она пересекается с областью. В нашем случае это точка D, которая и будет точкой максимума целевой функции (см. рис. 2)

Она лежит на пересечении прямых (2 ) и (3 ) (см. рис. 1 ) и задает оптимальное решение.

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

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

Чтобы найти координаты точки C, необходимо решить систему, состоящую из соответствующих прямым уравнений (в данном случае из уравнений 2 и 3 ):

16x 1 − 2x 2 ≤ 18

8x 1 + 4x 2 ≤ 20

Получим оптимальное решение = 1,33.

^ Оптимальное значение целевой функции f * = f (х*) = 7 * 0 + 6 * 1,33 = 7,8