Semenalidery.com

IT Новости из мира ПК
3 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Формы записи задачи линейного программирования

Формы записи задачи линейного программирования;

Принцип оптимальности в планировании и управлении, общая задача оптимального программирования

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

Слово “программирование” используется в значении “планирование”, не имеет отношения к компьютерному программированию.

Линейное программирование — это частный раздел опти­мального программирования. В свою очередь оптимальное (математическое) программирование — раздел прикладной математики, изучающий задачи условной оптимизации. В экономике такие задачи возникают при практической реализации принципа оптимальности в планировании и управлении.

Необходимым условием использования оптимального подхода к планированию и управлению (принципа опти­мальности) является гибкость, альтернативность производст­венно-хозяйственных ситуаций, в условиях которых прихо­дится принимать планово-управленческие решения. Именно такие ситуации, как правило, и составляют повседневную практику хозяйствующего субъекта (выбор производствен­ной программы, прикрепление к поставщикам, маршрутиза­ция, раскрой материалов, приготовление смесей и т.д.). Суть принципа оптимальности состоит в стремлении выбрать такое планово-управленческое решение = (х1, х2, . xп), где xj, (j =) — его компоненты, которое наилучшим образом учитывало бы внутренние возможности и внешние условия производственной деятельности хозяйствующего субъекта.

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

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

Таким образом, реализовать на практике принцип опти­мальности в планировании и управлении — это значит ре­шить экстремальную задачу вида:

где f() — математическая запись критерия оптималь­ности — целевая функция. Задачу условной оптимизации (2.1), (2.2) обычно записывают в виде:

Найти максимум или минимум функции

при ограничениях j1=(х1, х2, . xп)<>b1,

Переход к канонической форме ЗЛП

Назначение сервиса . Онлайн-калькулятор предназначен для перехода ЗЛП к КЗЛП. Приведение задачи к канонической форме означает, что все ограничения будут иметь вид равенств, путем ввода дополнительных переменных.
Если на какую-либо переменную xj не наложено ограничение, то она заменяется на разность дополнительных переменных, xj = xj1 — xj2, xj1 ≥ 0, xj2 ≥ 0.

  • Решение онлайн
  • Видеоинструкция

Математическая модель ЗЛП называется основной, если ограничения в ней представлены в виде уравнений при условии неотрицательности переменных.

Математическая модель называется канонической, если ее система ограничений представлена в виде системы m линейно независимых уравнений (ранг системы r=m), в системе выделен единичный базис, определены свободные переменные и целевая функция выражена через свободные переменные. При этом правые части уравнений неотрицательны (bi ≥ 0).

Переменные, входящие в одно из уравнений системы с коэффициентом один и отсутствующие в других уравнениях называются базисными неизвестными, а все другие – свободными.

Решение системы называется базисным, если в нем свободные переменные равны 0, и оно имеет вид:
Xбаз = (0, 0; b1, …, bm), f(Xбаз) = c

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

Базисное решение называется опорным, если оно допустимо, т.е. все правые части уравнений системы (или неравенств) положительны bi ≥ 0.

Компактная форма канонической модели имеет вид:
AX = b
X ≥ 0
Z = CX(max)

Понятие допустимого решения, области допустимых решений, оптимального решения задачи линейного программирования.
Определение 1 . Вектор X, удовлетворяющий системе ограничений ЗЛП, в том числе и условиям неотрицательности, если они имеются, называется допустимым решением ЗЛП.
Определение 2 . Совокупность всех допустимых решений образует область допустимых решений (ОДР) ЗЛП.
Определение 3 . Допустимое решение, для которого целевая функция достигает максимума (или минимума), называется оптимальным решением.

Читать еще:  Что такое визуальное программирование

В каждой задаче ЛП ищутся значения переменных при условии, чтобы:

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

Одним из универсальных методов ЛП является симплексный метод, который, однако, можно применять, если задача ЛП имеет каноническую форму.

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

Утверждение. Любая общая задача ЛП может быть приведена к канонической форме.
Приведение общей задачи ЛП к канонической форме достигается путем введения новых (их называют дополнительными) переменных.
Система ограничений (3) этой задачи состоит из четырех неравенств. Введя дополнительные переменные y1≥ 0, y2≥ 0, y3≥ 0, y4 ≥ 0, можно перейти к системе ограничений:

Эти дополнительные переменные y i имеют абсолютно ясный экономический смысл, а именно означают величину неиспользованного времени работы (простоя машины i-го вида).
Например, если бы машины первого вида работали все 18 ч, то x + y = 18, следовательно, y 1 = 0. Но мы допускаем возможность неполного использования времени работы первой машины x + y
Неравенства были обращены в сторону «больше», поэтому вводя дополнительные переменные y 1, y 2, y 3≥ 0, их необходимо вычесть из левой части, чтобы уравнять ее с правой. Получим систему ограничений в канонической форме:
Переменные yi также будут иметь экономический смысл. Если вы вспомните практическое содержание задачи, то переменная y 1 будет означать количество излишнего вещества А в смеси, y 2 –количество излишков вещества В в смеси, y3 – излишки С в смеси.
Задача нахождения максимального значения целевой функции может быть сведена к нахождению минимума для функции –F ввиду очевидности утверждения max F = –min (– F ). Посмотрите на рисунок: если в какой-то точке x= x функция y= F(x) достигает своего максимума, то функция y= –F(x), симметричная ей относительно оси OX, в этой же точке x достигнет минимума, причем Fmax = – (–Fmin) при x = x.

Вывод. Для представления задачи ЛП в канонической форме необходимо:

  • неравенства, входящие в систему ограничений задачи, преобразовать в уравнения с помощью введения дополнительных переменных;
  • если целевая функция F→max (максимизируется), она заменяется на функцию –F→ min (которая минимизируется).

Пример №1 . Следующую задачу ЛП привести к каноническому виду: F(X) = 5x1 + 3x2 → max при ограничениях:
2x1 + 3x2≤20
3x1 + x2≤15
4x1≤16
3x2≤12
Модель записана в стандартной форме. Введем балансовые неотрицательные переменные x3, x4, x5, x6, которые прибавим к левым частям ограничений-неравенств. В целевую функцию все дополнительные переменные введем с коэффициентами, равными нулю:
В первом неравенстве смысла (≤) вводим базисную переменную x3. Во 2-ом неравенстве смысла (≤) вводим базисную переменную x4. В третьем неравенстве вводим базисную переменную x5. В 4-м неравенстве — базисную переменную x6. Получим каноническую форму модели:
2x1 + 3x2 + 1x3 + 0x4 + 0x5 + 0x6 = 20
3x1 + 1x2 + 0x3 + 1x4 + 0x5 + 0x6 = 15
4x1 + 0x2 + 0x3 + 0x4 + 1x5 + 0x6 = 16
0x1 + 3x2 + 0x3 + 0x4 + 0x5 + 1x6 = 12
F(X) = 5x1 + 3x2 + 0x3 + 0x4 + 0x5 + 0x6 → max

Для приведения ЗЛП к канонической форме необходимо:
1. Поменять знак у целевой функции
— F = -2x1 + x2 — 4x3 +2x4 → max

4. Соответствующая целевая функция примет вид:
— F = -2x1 + x2 — 4(x8 – x9) +2(x10 – x11) → max

Читать еще:  Визуальное программирование это

Пример №2 . Преобразовать следующие задачи ЛП к канонической форме и решить их симплекс-методом.

Стандартная форма задачи линейного программирования

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

Стандартная форма

В стандартной форме задаются ( n ) действительных чисел (с_1, c_2, ldots, c_n ); ( m ) действительных чисел ( b_1,b_2,ldots ,b_m ); и ( mn ) действительных чисел ( a_ ), где ( i=1,2, ldots, m ) и ( j = 1,2, ldots, n ).
Требуется найти ( n ) действительных чисел ( x_1,x_2,ldots,x_n ) которые:

Максимизируют целевую функцию ( sumlimits_^n c_j x_j ) при заданных ограничениях : ( sumlimits_^n a_ x_j le b_i) при ( i=1,2, ldots, m ) и ограничениях неотрицательности ( x_j ge 0 ) при ( j= 1,2,ldots,n )

Преобразование в стандартную форму

Задача находится не в стандартной форме если:

  1. Целевая функция минимизируется, а не максимизируется
  2. На имеющиеся переменные не наложены условия неотрицательности
  3. Некоторые ограничения имеют форму равенства, т.е. имеют знак равенства вместо меньше или равно
  4. Некоторые ограничения вместо знака “меньше или равно” имеют знак “больше или равно”.

Как получить стандартную форму в таких случаях? Рассмотрим по пунктам:

  1. Достаточно поменять знаки целевой функции, например: ( -5x_1+2x_2 to min ) эквивалентно ( 5x_1-2x_2 to max ).
  2. Если отсутствует ограничение неотрицательности для переменной (x_j), то заменяем эту переменную выражением ( x_j^<‘>-x_j^ <“>) из двух неотрицательных переменных (x_j^<‘>,x_j^ <“>ge 0 ).
  3. Если ограничение имеет вид равенства, то заменяем его парой из двух неравеств “меньше или равно” и “больше или равно”.
  4. Для смены смены выда неравенства с “больше или равно” на “меньше или равно” умножаем обе части неравества на -1 и меняем знак сравнения.

[-5x_1+3x_2 to min ]

Шаг 1. Меняем знак целевой функции

[5x_1-3x_2 to max ]

Шаг 2. Для второй переменной (x_2) ограничений неотрицательности нет. Заменим на выражение (x_2=x_2^<‘>-x_2^ <”>):

Шаг 3. Заменяем равенство на два неравенства:

Шаг 4. Изменяем знак неравества:

Получили задачу в стандартном виде.

Примечание:

В данной заметке рассмотрен основной подход к виду стандартной формы задачи ЛП. Существует и другой подход, например в книге Соколов А. В., Токарев В.В. Методы оптимальных решений. В 2-х т. Т 1. Общие положения. математическое программирование. – 3-е изд. – 564 с. на с. 423 выделяется стандартный вид задачи на максимум:

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

Стандартная форма записи задачи линейного программирования

Общий вид задачи линейного программирования.

Найти значения переменных x1, x2, x3, . , xn, при которых максимума или минимума max (min) достигает целевая функция.

Если для переменных x1, x2, . , xn выполняются ограничения

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

Матричная форма записи задачи линейного программирования получится, если мы введем такие матрицы:

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

Нужно определить оптимальные объемы производства изделия каждого вида.

Решение

Пусть изделий 1 го вида изготавливается x1 штук, а 2 го вида – x2 штук.

Ограничения:

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

Чтобы решить графически нужно выполнить следующее:

1) построить многоугольник допустимых решений

2) если при некоторых значениях x1, x2 целевая функция z = a, то прямая c1x1 + c2x2 = a будет перпендикулярна нормаль вектору

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

Продолжаем рассматривать начатый выше пример.

(1)

пробная точка O (0, 0): выполняется.

O (0, 0) лежит в полуплоскости

(2)

O (0, 0): выполняется.

(3)

O (0, 0): выполняется.

Двигаем до точки А.

А – опорное решение

Найдем координаты точки А.

Прибыль:

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

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

Стандартная форма записи задачи линейного программирования

1) Если в ограничении есть знак ≤, то мы прибавляем к левой части остаточную переменную

Решение, полученное занулением n – m переменных называется базисным. Переменные не равные нулю называются базисными переменными, а равные нулю – небазисными.

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

ПРАКТИКУМ

ПО РЕШЕНИЮ ЛИНЕЙНЫХ ЗАДАЧ

МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

г. Симферополь, 2006

Акульшина Т.С., Стебко Т.В. Практикум по решению линейных задач математического программирования. – Симферополь, УЭУ, 2006 – 44 с.

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

Рассмотрено и одобрено на заседании кафедры высшей математики

протокол № 8 от 20 апреля 2006

Введение

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

Лучшие варианты – это те, при которых достигается максимальная производительность труда, минимум себестоимости, максимальная прибыль, минимум использования ресурсов и т.д. С точки зрения математики – это класс оптимизационных задач. Основным инструментом при их решении является математическое моделирование. Математическая модель – это формальное описание изучаемого явления и «перевод» всех существующих сведений о нем на язык математики в виде уравнений, тождеств, неравенств. Если все эти соотношения линейные, то вся задача называется задачей линейного программирования (ЗЛП). Критерием эффективности этой модели является некоторая функция, которую называют целевой.

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

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

Пусть дана система m линейных уравнений и неравенств с n переменными (система ограничений):

(1)

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

. (2)

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

В общем случае ЗЛП может иметь бесконечное множество решений. Часто решение , удовлетворяющее ограничениям (1), называют планом. Если все компоненты (3) для , то называют допустимым решением.

Оптимальным решением или оптимальным планом задачи линейного программирования называется такое ее решение , которое удовлетворяет всем ограничениям системы (1), условию (3) и при этом дает максимум (минимум) целевой функции (2).

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

Ссылка на основную публикацию
Adblock
detector