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

Cтраница 2


Из таблицы видно, что для сравнительно близких оптимальных значений целевой функции (f (z) (при отклонениях порядка 1 %) количество изделий, подлежащих выпуску по этим оптимальным планам, по отдельным наименованиям колеблется в пределах нескольких сотен. Таким образом, эта задача является неустойчивой.  

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

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

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

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

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

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

В начале любой итерации t известна верхняя оценка х оптимального значения целевой функции. Значение х определяется общепринятым способом. Кроме того, задан основной список задач, содержащий некоторое подмножество Xij 1, определяющее частичный цикл, и подмножество значений с - -, принятых в результате пересмотра равными оо. Для вычисления нижней оценки оптимального значения целевой функции, соответствующей циклу, который является дополнением частичного цикла, можно применить тот же метод, что и в алгоритме задания маршрутов. С другой стороны, можно определять оптимальное решение задачи о назначениях, включив в эту задачу коэффициенты с -, принадлежащие строкам и столбцам, не связанным с подмножеством xti 1, которые входят в частичный цикл.  

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

Теорема 4.1. Последовательность Q (Xh) сходится к оптимальному значению целевой функции детерминированной задачи, эквивалентной двухэтапной стохастической задаче линейного программирования. Последовательность лг / J содержит сходящуюся подпоследовательность. Каждая сходящаяся подпоследовательность из Xh сходится к оптимальному предварительному плану х двухэташюй стохастической задачи.  


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

В начале любой итерации t известна верхняя оценка х а оптимального значения целевой функции.  

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

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

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

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

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

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

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

Примеры

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

\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 = \sum_{j=1}^N F_j^2(x_1, x_2, \ldots, x_M) \qquad (1)

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

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

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

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

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

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

Напишите отзыв о статье "Целевая функция"

Примечания

См. также

Литература

  • Бурак Я. И., Огирко И. В. Оптимальный нагрев цилиндрической оболочки с зависящими от температуры характеристиками материала // Мат. методы и физ.-мех. поля. - 1977. - Вып. 5. - С.26-30

Отрывок, характеризующий Целевая функция

Бедный муж мой переносит труды и голод в жидовских корчмах; но новости, которые я имею, еще более воодушевляют меня.
Вы слышали, верно, о героическом подвиге Раевского, обнявшего двух сыновей и сказавшего: «Погибну с ними, но не поколеблемся!И действительно, хотя неприятель был вдвое сильнее нас, мы не колебнулись. Мы проводим время, как можем; но на войне, как на войне. Княжна Алина и Sophie сидят со мною целые дни, и мы, несчастные вдовы живых мужей, за корпией делаем прекрасные разговоры; только вас, мой друг, недостает… и т. д.
Преимущественно не понимала княжна Марья всего значения этой войны потому, что старый князь никогда не говорил про нее, не признавал ее и смеялся за обедом над Десалем, говорившим об этой войне. Тон князя был так спокоен и уверен, что княжна Марья, не рассуждая, верила ему.
Весь июль месяц старый князь был чрезвычайно деятелен и даже оживлен. Он заложил еще новый сад и новый корпус, строение для дворовых. Одно, что беспокоило княжну Марью, было то, что он мало спал и, изменив свою привычку спать в кабинете, каждый день менял место своих ночлегов. То он приказывал разбить свою походную кровать в галерее, то он оставался на диване или в вольтеровском кресле в гостиной и дремал не раздеваясь, между тем как не m lle Bourienne, a мальчик Петруша читал ему; то он ночевал в столовой.
Первого августа было получено второе письмо от кня зя Андрея. В первом письме, полученном вскоре после его отъезда, князь Андрей просил с покорностью прощения у своего отца за то, что он позволил себе сказать ему, и просил его возвратить ему свою милость. На это письмо старый князь отвечал ласковым письмом и после этого письма отдалил от себя француженку. Второе письмо князя Андрея, писанное из под Витебска, после того как французы заняли его, состояло из краткого описания всей кампании с планом, нарисованным в письме, и из соображений о дальнейшем ходе кампании. В письме этом князь Андрей представлял отцу неудобства его положения вблизи от театра войны, на самой линии движения войск, и советовал ехать в Москву.
За обедом в этот день на слова Десаля, говорившего о том, что, как слышно, французы уже вступили в Витебск, старый князь вспомнил о письме князя Андрея.
– Получил от князя Андрея нынче, – сказал он княжне Марье, – не читала?
– Нет, mon pere, [батюшка] – испуганно отвечала княжна. Она не могла читать письма, про получение которого она даже и не слышала.
– Он пишет про войну про эту, – сказал князь с той сделавшейся ему привычной, презрительной улыбкой, с которой он говорил всегда про настоящую войну.
– Должно быть, очень интересно, – сказал Десаль. – Князь в состоянии знать…
– Ах, очень интересно! – сказала m llе Bourienne.
– Подите принесите мне, – обратился старый князь к m llе Bourienne. – Вы знаете, на маленьком столе под пресс папье.
M lle Bourienne радостно вскочила.
– Ах нет, – нахмурившись, крикнул он. – Поди ты, Михаил Иваныч.
Михаил Иваныч встал и пошел в кабинет. Но только что он вышел, старый князь, беспокойно оглядывавшийся, бросил салфетку и пошел сам.
– Ничего то не умеют, все перепутают.
Пока он ходил, княжна Марья, Десаль, m lle Bourienne и даже Николушка молча переглядывались. Старый князь вернулся поспешным шагом, сопутствуемый Михаилом Иванычем, с письмом и планом, которые он, не давая никому читать во время обеда, положил подле себя.

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

Х1,Х2,Х3,…Хп.

Следует отметить, что проектные параметры в некоторых источниках могут называться внутренними управляемыми параметрами.

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

М = М (х1,х2,…,хп).

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

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


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

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

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

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


Рисунок 3. При изменении знака целевой функции на противоположный в задаче на минимум, превращает ее в задачу на максимум.

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

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

С1 (X1, X2, Х3, . . ., Хп) = 0,

С2 (X1, X2, Х3, . . ., Х п) = 0,

..……………………………..

Сj(X1, X2, Х 3, . . ., Хп) = 0.

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

z1 ?r1(X1, X2, Х3, . . ., Хп) ?Z1

z2 ?r2(X1, X2, Х3, . . ., Хп) ?Z2

………………………………………

zk ?rk(X1, X2, Х3, . . ., Хп) ?Zk

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

Прямые и функциональные ограничения. Прямые ограничения имеют вид

xнi ? xi ? xвi при i ? ,

где xнi , xвi - минимально и максимально допустимые значения i-го управляемого параметра; п - размерность пространства управляемых параметров. Например для многих объектов параметры элементов не могут быть отрицательными: xнi ? 0 (геометрические размеры, электрические сопротивления, массы и т.п.).

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

  • 1) типа равенств
  • ш (Х) = 0; (2.1)
  • 2) типа неравенств

ц (Х) › 0, (2.2)

где ш (Х) и ц (Х) - вектор-функции.

Прямые и функциональные ограничения формируют допустимую область поиска:

ХД = {Х | ш(Х) = 0, ц (Х)›0, xi › xнi ,

xi ‹ xвi при i ? }.

Если ограничения (2.1) и (2.2) совпадают с условиями работоспособности, то допустимую область называют также областью работоспособности ХР.

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

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


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

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

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

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

yi < TTi , i О ; yi > TTj , j О ;

yr = TTr ± ?yr; r О .

где yi, yj, yr - множество выходных параметров;

TTi, TTj, TTr - требуемые количественные значения соответствующих выходных параметров по техническому заданию;

Yr - допустимое отклонение r-го выходного параметра от указанного в техническом задании значения TTr.

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

Частные критерии могут применяться в случаях, когда среди выходных параметров можно выделить один основной параметр yi(Х), наиболее полно отражающий эффективность проектируемого объекта. Этот параметр принимают за целевую функцию. Примерами таких параметров являются: для энергетического объекта - мощность, для технологического автомата - производительность, для транспортного средства - грузоподъемность. Для многих технических объектов таким параметром служит стоимость. Условия работоспособности всех остальных выходных параметров объекта относят при этом к функциональным ограничениям. Оптимизация на основе такой постановки называется оптимизацией по частному критерию.

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

Взвешенный аддитивный критерий применяют тогда, когда условия работоспособности позволяют выделить две группы выходных параметров. В первую группу входят выходные параметры, значения которых в процессе оптимизации нужно увеличивать y+i(X) (производительность, помехоустойчивость, вероятность безотказной работы и т. п.), во вторую - выходные параметры, значения которых следует уменьшать y-i (X) (расход топлива, длительность переходного процесса, перерегулирование, смещение и пр.). Объединение нескольких выходных параметров, имеющих в общем случае различную физическую размерность, в одной скалярной целевой функции требует предварительного нормирования этих параметров. Способы нормирования параметров будут рассмотрены ниже. Пока будем считать, что все у(Х) безразмерны и среди них нет таких, которым соответствуют условия работоспособности типа равенства. Тогда для случая минимизации целевой функции свертка векторного критерия будет иметь вид

где aj>0 - весовой коэффициент, определяющий степень важности j-го выходного параметра (обычно aj выбираются проектировщиком и в процессе оптимизации остаются постоянными).

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

определяет среднеквадратичное приближение yj(X) к заданным техническим требованиям TTj.

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

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

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

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


где р -- количество узловых точек щj на оси переменной щ; aj - весовые коэффициенты, значения которых тем больше, чем меньшее отклонение y(Х, щj) - yTT(Х, щj) нужно получить в j-и точке.

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

Введем количественную оценку степени выполнения j-го условия работоспособности, обозначим ее через zj и будем называть запасом работоспособности параметра yj. Расчет запаса по j-му выходному параметру можно выполнить различными способами, например,

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

Здесь предполагается, что все соотношения сведены к виду yi < TТj. Если yi > TТj , то -yj < -TТj . Следует принимать аj >1 (рекомендуемые значения 5 ? аj ? 20), если желательно достичь выполнения j-го технического требования с заданным допуском, т. е. yj = TТj ± ?yj; aj=l, если необходимо получить максимально возможную оценку zj.

Качество функционирования технической системы характеризуется вектором выходных параметров и, следовательно, вектором Z=(zm,zm,…,zm). Поэтому целевую функцию следует формировать как некоторую функцию ц(Z) вектора оценок. Например, если в качестве целевой функции рассматривается запас только того выходного параметра, который в данной точке X является наихудшим с позиций выполнения требований ТЗ, то

где m - количество запасов работоспособности.

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

где ХД - допустимая для поиска область.

Критерий оптимизации с целевой функцией (2.6) называют максиминным критерием.

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

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

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

где оi - коэффициент, численно равный единице параметра ui .

Нормирование выходных параметров можно выполнить с помощью весовых коэффициентов, как в аддитивом критерии, или переходом от уj к запасам работоспособности zj по (2.5).

    Для нахождения максимума целевой функции используйте функцию maximize, формат которой следующий maximize(<функция>, <система ограничений>, <опции>);

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

> optimum:=maximize(f,syst_ogr,NONNEGATIVE);

    Используйте команду subs, которая позволяет подставить значения переменных x 1 и x 2 в функцию f .

> fmax:=subs(x1=83/17,x2=19/17,f);

    Примените функцию evalf для представления ответа в форме действительного числа с 4 значащими цифрами.

> fmax:=evalf(fmax,4);

Ознакомиться с вариантом решения задачи ЛП без пояснений можно в приложении.

Решение оптимизационных задач в специализированном пакете SimplexWin. Http://www.Simplexwin.Narod.Ru/

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

Задача . Найти значения переменных x 1 и x 2 , при которых

при ограничениях

Порядок выполнения работы :

    Запустите программу SimplexWin и установите требуемый размер матрицы ограничений, выбрав в меню команду Настройки – Размер матрицы (рис. 13).

Рис. 13 . Определение размера матрицы.

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

Рис.14 . Ввод данных.

II. Нахождение оптимального плана и оптимального значения целевой функции.


Рис. 15 . Форма Результаты.

    В форме Результаты нажмите кнопку Результат, которая позволяет произвести решение задачи в автоматическом режиме и отобразить на экране последнюю симплексную таблицу и результат (рис. 16).

Рис. 16 . Решение задачи.

Решение оптимизационных задач в Excel

Рассмотрим пример нахождения для следующей задачи линейного программирования.

Задача . Найти значения переменных x 1 и x 2 , при которых

при ограничениях

Порядок выполнения работы :

I. Оформление исходных данных.

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

Рис. 17 . Экранная форма задачи (курсор в ячейке D6).

Замечание : В экранной форме на рис. 17 каждой переменной и каждому коэффициенту задачи поставлена в соответствие конкретная ячейка в Excel. Так, например, переменным задачи соответствуют ячейки B3 (), C3 (),коэффициентам целевой функции соответствуют ячейки B6 (
), C6 (
), правым частям ограничений соответствуют ячейки F10 (
), F11 (
),F12 (
)и т.д.

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

Согласно условию задачи значение целевой функции определяется выражением
. Используя обозначения соответствующих ячеек вExcel, формулу для расчета целевой функции можно записать как сумму произведений каждой из ячеек, отведенных для значений переменных задачи (B3, C3), на соответствующие ячейки, отведенные для коэффициентов целевой функции (B6, C6).

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

– поставьте курсор в ячейку D6 ;

– вызовите окно Мастер функций – шаг 1 из 2 , нажав кнопку на стандартной панели инструментов;

– в окне Функция выберите функцию СУММПРОИЗВ ;

– в появившемся окне СУММПРОИЗВ в строку Массив 1 введите выражение B$3:C$3 , а в строку Массив 2 – выражение B6 :С6 ;

– нажмите кнопку OK .

Рис. 18 . Ввод формулы для расчета ЦФ в окне Мастер функций.

После ввода ячеек в строки Массив 1 и Массив 2 в окне СУММПРОИЗВ появятся числовые значения введенных массивов (рис. 18), а в экранной форме появится текущее значение, вычисленное по введенной формуле, то есть 0 (так как в момент ввода формулы значения переменных задачи нулевые) (рис. 19).

Замечание : Символ $ перед номером строки означает, что при копировании этой формулы в другие места листа Excel номер строки 3 не изменится. Символ : означает, что в формуле использованы все ячейки, расположенные между ячейками, указанными слева и справа от двоеточия.

Левые части ограничений задачи представляют собой сумму произведений каждой из ячеек, отведенных для значений переменных задачи (B3, C3), на соответствующую ячейку, отведенную для коэффициентов конкретного ограничения (B10, C10 – 1 ограничение; B11, C11 – 2 ограничение; B12, C12 – 3 ограничение).

Формулы, задающие левые части ограничений задачи, отличаются друг от друга и от формулы в целевой ячейке D6 только номером строки во втором массиве. Этот номер определяется той строкой, в которой ограничение записано в экранной форме. Поэтому для задания зависимостей для левых частей ограничении достаточно скопировать формулу из целевой ячейки в ячейки левых частей ограничений.

Для расчета значений левых частей ограничений выполните следующее:

– поставьте курсор в ячейку D6 и скопируйте в буфер содержимое ячейки (клавишами Ctrl+C);

– поставьте курсор поочередно в поля левой части каждого из ограничений, то есть D 10 ,D 11 , D 12 , и вставляйте в эти поля содержимое буфера (клавишами Ctrl+V) (при этом номер ячеек во втором массиве формулы будет меняться на номер той строки, в которую была произведена вставка из буфера).

После ввода на экране в полях D 10 ,D 11 , D 12 появится 0 (нулевое значение) (рис. 19).

Рис. 19 . Экранная форма задачи после вода

всех необходимых формул.

    Проверьте правильность введения формул.

Для этого:

– произведите поочередно двойное нажатие левой клавиши мыши на ячейки с формулами, при этом на экране рамкой будут выделяться ячейки, используемые в формуле (рис. 20 и рис. 21).

Рис. 20

формулы в целевую ячейку D6.

Рис. 20 . Проверка правильности введения

формулы в ячейку D10 для левой части ограничений.

    Задайте целевую функцию и введите ограничения в окне Поиск решения (рис. 21).

Для этого:

– поставьте курсор в ячейку D6 ;

– вызовите окно Поиск решения , выбрав на панели инструментов Данные – Поиск решения ;

– поставьте курсор в поле Установить целевую ячейку ;

– введите адрес целевой ячейки $D$6 или сделайте одно нажатие левой клавишей мыши на целевую ячейку в экранной форме, что будет равносильно вводу адреса с клавиатуры;

– укажите направление оптимизации целевой функции, щелкнув один раз левой клавишей мыши по селекторной кнопке максимальному значению ;

– в окне Поиск решений в поле Изменяя ячейки введите ячейки со значениями переменных $B$3:$C$3 , выделив их в экранной форме, удерживая левую кнопку мыши;

Рис. 21 . Окно Поиск решения.

– нажмите кнопку Добавить ;

– в соответствии с условием задачи выберите в поле знака необходимый знак, например, для 1 ограничения это знак ;

– в поле Ограничение введите адрес ячейки правой части, рассматриваемого ограничения, например $F$10 ;

– аналогичным образом установите соотношения между правыми и левыми частями других ограничений ($D$ 11$F$1 1 , $D$ 12$F$1 2) ;

– подтвердите ввод всех перечисленных условий нажатием кнопки OK (рис. 22 и рис. 23).

Рис. 22 . Добавления условия.

Замечание : Если при вводе условия задачи возникает необходимость в изменении или удалении внесенных ограничений, то это можно сделать на жав на кнопки Изменить или Удалить .



В продолжение темы:
Android

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