Болезни Военный билет Призыв

Найти максимум целевой функции при ограничениях. Методы оптимизации и исследование операций. Построение области допустимых решений

Решение : найдем максимальное и минимальное значение функции \(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\)

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

Примеры

Гладкие функции и системы уравнений

Задача решения любой системы уравнений

{ F 1 (x 1 , x 2 , … , x M) = 0 F 2 (x 1 , x 2 , … , x M) = 0 … F N (x 1 , x 2 , … , x M) = 0 {\displaystyle \left\{{\begin{matrix}F_{1}(x_{1},x_{2},\ldots ,x_{M})=0\\F_{2}(x_{1},x_{2},\ldots ,x_{M})=0\\\ldots \\F_{N}(x_{1},x_{2},\ldots ,x_{M})=0\end{matrix}}\right.}

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

S = ∑ j = 1 N F j 2 (x 1 , x 2 , … , x M) (1) {\displaystyle S=\sum _{j=1}^{N}F_{j}^{2}(x_{1},x_{2},\ldots ,x_{M})\qquad (1)}

Если функции гладкие, то задачу минимизации можно решать градиентными методами.

Для всякой гладкой целевой функции можно приравнять к 0 {\displaystyle 0} частные производные по всем переменным. Оптимум целевой функции будет одним из решений такой системы уравнений. В случае функции (1) {\displaystyle (1)} это будет система уравнений метода наименьших квадратов (МНК). Всякое решение исходной системы является решением системы МНК. Если исходная система несовместна, то всегда имеющая решение система МНК позволяет получить приближённое решение исходной системы. Число уравнений системы МНК совпадает с числом неизвестных, что иногда облегчает и решение совместных исходных систем.

Линейное программирование

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

Комбинаторная оптимизация

Типичным примером комбинаторной целевой функции является целевая функция задачи коммивояжёра. Эта функция равна длине гамильтонова цикла на графе. Она задана на множестве перестановок n − 1 {\displaystyle n-1} вершины графа и определяется матрицей длин рёбер графа. Точное решение подобных задач часто сводится к перебору вариантов.

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

  1. Линейное программирование

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

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

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

    задача об оптимальном использовании ресурсов при производственном планировании;

    задача о смесях (планирование состава продукции);

    задача о нахождении оптимальной комбинации различных видов продукции для хранения на складах (управление товарно-материальными запасами или);

    транспортные задачи (анализ размещения предприятия, перемещение грузов).

Линейное программирование – наиболее разработанный и широко применяемый раздел математического программирования (кроме того, сюда относят: целочисленное, динамическое, нелинейное, параметрическое программирование). Это объясняется следующим:

    математические модели большого числа экономических задач линейны относительно искомых переменных;

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

    многие задачи линейного программирования, будучи решенными, нашли широкое применение;

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

Экономико-математическая модель любой задачи линейного программирования включает: целевую функцию, оптимальное значение которой (максимум или минимум) требуется отыскать; ограничения в виде системы линейных уравнений или неравенств; требование неотрицательности переменных.

В общем виде модель записывается следующим образом:

целевая функция

(1.1) при ограничениях

(1.2) требования неотрицательности

(1.3) где x j – переменные (неизвестные);

- коэффициенты задачи линейного программирования.

Задача состоит в нахождении оптимального значения функции (1.1) при соблюдении ограничений (1.2) и (1.3).

Систему ограничений (1.2) называют функциональными ограничениями задачи, а ограничения (1.3) - прямыми.

Вектор, удовлетворяющий ограничениям (1.2) и (1.3), называется допустимым решением (планом) задачи линейного программирования. План, при котором функция (1.1) достигает своего максимального (минимального) значения, называется оптимальным.

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

Симплекс-метод был разработан и впервые применен для решения задач в 1947 г. американским математиком Дж. Данцигом.

Двумерные задачи линейного программирования решаются графически. Для случая N=3 можно рассмотреть трехмерное пространство и целевая функция будет достигать своё оптимальное значение в одной из вершин многогранника.

Допустимым решением (допустимым планом) задачи ЛП, данной в стандартной форме, называется упорядоченное множество чисел (х1, х2, …, хn), удовлетворяющих ограничениям; это точка в n-мерном пространстве.

Множество допустимых решений образует область допустимых решений (ОДР) задачи ЛП. ОДР представляет собой выпуклый многогранник (многоугольник).

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

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

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

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

Решить данные задачи графически, когда количество переменных более 3 весьма затруднительно. Существует универсальный способ решения задач линейного программирования, называемый симплекс-методом.

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

С его помощью можно решить любую задачу линейного программирования.

В основу симплексного метода положена идея последовательного улучшения получаемого решения.

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

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

Процесс применения симплексного метода предполагает реализацию трех его основных элементов:

    способ определения какого-либо первоначального допустимого базисного решения задачи;

    правило перехода к лучшему (точнее, не худшему) решению;

    критерий проверки оптимальности найденного решения.

Симплексный метод включает в себя ряд этапов и может быть сформулирован в виде четкого алгоритма (четкого предписания о выполнении последовательных операций). Это позволяет успешно программировать и реализовывать его на ЭВМ. Задачи с небольшим числом переменных и ограничений могут быть решены симплексным методом вручную.

6.1.Введение

Оптимизация. Часть 1

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

6.2.Основы теории оптимизации

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

Рассматривая некоторую произвольную систему, описываемую m уравнениями с n неизвестными, можно выделить три основных типа задач. Если m=n , задачу называют алгебраической. Такая задача обычно имеет одно решение. Если m>n, то задача переопределена и, как правило, не имеет решения. Наконец, при m

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

Проектные параметры

Этим термином обозначают независимые переменные параметры, которые полностью и однозначно определяют решаемую задачу проектирования. Проектные параметры - неизвестные величины, значения которых вычисляются в процессе оптимизации. В качестве проектных параметров могут служить любые основные или произ-водные величины, служащие для количественного описания системы. Так, это могут быть неизвестные значения длины, массы, време-ни, температуры. Число проектных параметров характеризует сте-пень сложности данной задачи проектирования. Обычно число проектных параметров обозначают через n, а сами проектные пара-метры через х с соответствующими индексами. Таким образом n проектных параметров данной задачи будем обозначать через

X1, x2, x3,...,xn.

Целевая функция

Это - выражение, значение которого инженер стремится сделать максимальным или минимальным. Целевая функция позволяет количественно сравнить два альтернативных решения. С мате-матической точки зрения целевая функция описывает некоторую (n+1) - мерную поверхность. Ее значение определяется проектными параметрами

M=M(x 1 , x 2 ,...,x n).

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

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

Целевая функция в ряде случаев может принимать самые неожиданные формы. Например, ее не всегда удается выразить в

Рис.1.Одномерная целевая функция.

Рис.6.2.Двумерная целевая функция.

замкнутой математической форме, в других случаях она может

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

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

Поиск минимума и максимума

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

Пространство проектирования

Так называется область, определяемая всеми n проектными параметрами. Пространство проектирования не столь велико, как может показаться, поскольку оно обычно ограничено рядом

условий, связанных с физической сущностью задачи. Ограничения могут быть столь сильными, что задача не будет иметь ни одного

Рис.6.3.Изменением знака целевой функции на противоположный

задача на максимум превращается в задачу на минимум.

удовлетворительного решения. Ограничения делятся на две группы: ограничения - равенства и ограничения - неравенства.

Ограничения - равенства

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

C 1 (x 1 , x 2 ,...,x n)=0,

C 2 (x 1 , x 2 ,...,x n)=0,

..................

C j (x 1 , x 2 ,...,x n)=0.

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

Ограничения - неравенства

Это особый вид ограничений, выраженных неравенствами. В общем случае их может быть сколько угодно, причем все они имееют вид

z 1 r 1 (x 1 , x 2 ,...,x n) Z 1

z 2 r 2 (x 1 , x 2 ,...,x n) Z 2

.......................

z k r k (x 1 , x 2 ,...,x n) Z k

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

Локальный оптимум

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

Рис.6.4.Произвольная целевая функция может иметь несколько

локальных оптимумов.

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

Глобальный оптимум

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

Пример 6.1

Пусть требуется спроектировать прямоугольный контейнер объемом 1м , предназначенный для перевозки неупакованного волокна. Желательно, чтобы на изготовление таких контейнеров затрачивалось как можно меньше материала (при условии посто-янства толщины стенок это означает, что площадь поверхности должна быть минимальной), так как при этом он будет дешевле. Чтобы контейнер удобно было брать автопогрузчиком, его ширина должна быть не менее 1,5м.

Сформулируем эту задачу в виде, удобном для применения алгоритма оптимизации.

Проектные параметры: x 1 , x 2 , x 3 .

Целевая функция (которую требуется минимизировать) - площадь боковой поверхности контейнера:

A=2(x 1 x 2 +x 2 x 3 +x 1 x 3), м2.

Ограничение - равенство:

Объем = x 1 x 2 x 3 =1м3.

Ограничение - неравенство:

Задачи линейного программирования

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

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

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

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

В общем виде задача ЛП имеет следующий вид:

, (5.1)

, , (5.2)

, , (5.3)

где , , – заданные постоянные величины.

Функцию (5.1) называют целевой функцией; системы (5.2), (5.3) – системой ограничений; условие (5.4) – условием неотрицательности проектных параметров.

Совокупность проектных параметров , удовлетворяющих ограничениям (5.2), (5.3) и (5.4), называют допустимым решением или планом .

Оптимальным решением или оптимальным планом задачи ЛП называется допустимое решение , при котором целевая функция (5.1) принимает оптимальное (максимальное или минимальное) значение.

Стандартной задачей ЛП называют задачу нахождения максимального (минимального) значения целевой функции (5.1) при условии (5.2) и (5.4), где , , т.е. т.е. ограничения только в виде неравенств (5.2) и все проектные параметры удовлетворяют условию неотрицательности, а условия в виде равенств отсутствуют:

,

, , (5.5)

.

Канонической (основной) задачей ЛП называют задачу нахождения максимального (минимального) значения целевой функции (5.1) при условии (5.3) и (5.4), где , , т.е. т.е. ограничения только в виде равенств (5.3) и все проектные параметры удовлетворяют условию неотрицательности, а условия в виде неравенств отсутствуют:

,

.

Каноническую задачу ЛП можно также записать в матричной и векторной форме.

Матричная форма канонической задачи ЛП имеет следующий вид:

Векторная форма канонической задачи ЛП.

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

Строим в системе координат х 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 невозможно и мы получили оптимальный план.

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

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

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

Линейное программирование предусматривает построение математической модели рассматриваемой задачи. После чего решение может быть найдено графически (рассмотрено ниже), с использованием 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 минимально.