Помощь по линейному программированию

Здравствуйте! Я Людмила Анатольевна Фирмаль занимаюсь помощью более 17 лет. У меня своя команда грамотных, сильных преподавателей. Мы справимся с любой поставленной перед нами работой технического и гуманитарного плана. И не важно она по объёму на две формулы или огромная сложно структурированная на 125 страниц! Нам по силам всё, поэтому не стесняйтесь присылайте.
Если что-то непонятно, Вы всегда можете написать мне в воцап и я помогу!

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

Введение

К оглавлению…

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

Предмет математическое программирование

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

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

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

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

Задача формулируется так: имеется Помощь по линейному программированию онлайн пунктов производства, в каждом из которых может быть произведено Помощь по линейному программированию онлайн электроэнергии и Помощь по линейному программированию онлайн пунктов потребления электроэнергии, где потребность составляет Помощь по линейному программированию онлайн единиц. Известны величины Помощь по линейному программированию онлайн — затраты на транспортировку на единицу электроэнергии из Помощь по линейному программированию онлайн — го пункта в Помощь по линейному программированию онлайн — й пункт потребления. Обозначим через Помощь по линейному программированию онлайн количество электроэнергии, передаваемого из Помощь по линейному программированию онлайн — го пункта производства в Помощь по линейному программированию онлайн — й пункт потребления. Матрица [Помощь по линейному программированию онлайн] — называется матрицей тарифов, Помощь по линейному программированию онлайн — матрицей транспортировки. С целью удобства построения математической модели матрицы тарифов и транспортировки совмещают в одну, именуемую макетом транспортной задачи (развития сетей) (табл.5.1).

Таблица 5.1 — Макет развития электрической сети

Помощь по линейному программированию онлайн

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

Помощь по линейному программированию онлайн

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

Помощь по линейному программированию онлайн

на спрос потребителей, который должен быть полностью удовлетворен:

Помощь по линейному программированию онлайн

при условии не отрицательности переменных, исключающем обратные перетоки

Помощь по линейному программированию онлайн

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

К оглавлению…

Общей задачей линейного программирования (ОЗЛП) называют задачу, которую математически представляют в виде следующих линейных соотношений:

  • целевая функция —
Помощь по линейному программированию онлайн
Помощь по линейному программированию онлайн

где — Помощь по линейному программированию онлайн — заданные действительные числа; Помощь по линейному программированию онлайн — искомые неотрицательные переменные параметры, удовлетворяющие условию задачи и ограничениям; Помощь по линейному программированию онлайн — план задачи. Канонической формой записи ЗЛИ называют задачу

Помощь по линейному программированию онлайн

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

Помощь по линейному программированию онлайн

где Помощь по линейному программированию онлайн — матрица-строка; Помощь по линейному программированию онлайн — матрица системы уравнений; Помощь по линейному программированию онлайн — матрица — столбец переменных; Помощь по линейному программированию онлайн — матрица-столбец свободных членов.

Каноническая форма задачи с использованием матричной записи примет вид

Помощь по линейному программированию онлайн

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

К оглавлению…

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

Помощь по линейному программированию онлайн

Тогда задача (5.7) — (5.9) в векторной форме записи примет вид:

Помощь по линейному программированию онлайн

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

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

К оглавлению…

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

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

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

Помощь по линейному программированию онлайн

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

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

Помощь по линейному программированию онлайн

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

Возникает вопрос: как установить направление возрастания (убывания) целевой функции? Найдём частные производные целевой функции по Помощь по линейному программированию онлайн и Помощь по линейному программированию онлайн:

Помощь по линейному программированию онлайн
Помощь по линейному программированию онлайн

Частные производные (5.12) функции показывают скорость ее возрастания вдоль осей. Следовательно, Помощь по линейному программированию онлайн и Помощь по линейному программированию онлайн — скорость возрастания Помощь по линейному программированию онлайн соответственно вдоль осей Помощь по линейному программированию онлайн и Помощь по линейному программированию онлайн. Вектор Помощь по линейному программированию онлайн называется градиентом функции. Он показывает направление наискорейшего возрастания целевой функции:

Помощь по линейному программированию онлайн

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

Вектор Помощь по линейному программированию онлайн перпендикулярен к прямым Помощь по линейному программированию онлайн семейства Помощь по линейному программированию онлайн.

Из геометрической интерпретации элементов ЗЛП следует порядок ее графического решения:

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

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

Помощь по линейному программированию онлайн
  1. оптимальное решение единственное: линия уровня и область допустимых решений в соответствующем положении имеют одну общую точку (рис. 5.3, а);
  2. оптимальных решений бесконечное множество: в соответствующем положении линия уровня проходит через сторону области допустимых решений (рис.5.3, б);
  3. целевая функция не ограничена: линия уровня, сколько бы ее ни перемещали, не может занять соответствующего положения (рис.5.3, в,г);
  4. область допустимых решений состоит из единственной точки, где целевая функция достигает одновременно и максимального, и минимального значений (рис. 5.3, д);
  5. задача не имеет решения: область допустимых решений -пустое множество, т.е. система ограничений несовместна (рис.5.3 е).

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

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

Пусть исходная ЗЛП имеет вид

Помощь по линейному программированию онлайн

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

Помощь по линейному программированию онлайн

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

Итак,

Помощь по линейному программированию онлайн

То же самое имеет место и в случае функции многих переменных Помощь по линейному программированию онлайн:

Помощь по линейному программированию онлайн

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

Помощь по линейному программированию онлайн

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

Помощь по линейному программированию онлайн

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

Помощь по линейному программированию онлайн
Помощь по линейному программированию онлайн

Задача (5.22) — (5.25) имеет каноническую форму. Задачи (5.13) -(5.16) и (5.22) — (5.25) тесно связаны между собой.

Симплексный метод

К оглавлению…

Для решения ЗЛП в аналитической форме применяют один из методов решения — симплекс метод (метод последовательного улучшения решения), который предполагает: 1) умение находить начальный опорный план; 2)наличие признака оптимальности плана; 3) умение переходить к не худшему опорному плану.

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

Помощь по линейному программированию онлайн

Говорят, что ограничение ЗЛП имеет предпочтительный вид, если при не отрицательности правой части Помощь по линейному программированию онлайн левая часть ограничения содержит переменную, входящую с коэффициентом, равным единице, а в остальные ограничения — равенства — с коэффициентом, равным нулю. Например, в системе ограничений

Помощь по линейному программированию онлайн

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

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

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

Пусть система ограничений имеет вид

Помощь по линейному программированию онлайн

Приведем систему к каноническому виду

Помощь по линейному программированию онлайн

которая имеет предпочтительный вид.

Следовательно, начальный опорный план примет вид:

Помощь по линейному программированию онлайн

В целевую функцию дополнительные

переменные вводятся с коэффициентами, равными нулю.

Пусть система ограничений имеет вид

Помощь по линейному программированию онлайн

Приведем систему к каноническому виду

Помощь по линейному программированию онлайн

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

Помощь по линейному программированию онлайн

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

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

Помощь по линейному программированию онлайн

шаг второй: Находим начальный опорный план, приравняв Помощь по линейному программированию онлайн, тогда Помощь по линейному программированию онлайн.

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

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

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

Приравнивают БП к нулю для всех ограничений на данном шаге. Находят отношения Помощь по линейному программированию онлайн для Помощь по линейному программированию онлайн — ой свободной переменной при условии равенства нулю других свободных переменных Помощь по линейному программированию онлайн.

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

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

Помощь по линейному программированию онлайн

Коэффициенты при свободных переменных в уравнениях БП и функции цели внесем в таблицу, причем разместим их в верхние части клеток со знаками, указанными в скобках соответствующих уравнений.

Таблица 5.2

Помощь по линейному программированию онлайн

Столбец «свободные члены» определяет первое начальное решение при равенстве нулю свободных переменных:

Помощь по линейному программированию онлайн

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

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

1) находим Помощь по линейному программированию онлайн — генеральный элемент;

2) все коэффициенты разрешающей строки умножим на Помощь по линейному программированию онлайн (кроме генерального), а коэффициенты разрешающего столбца — на «-Помощь по линейному программированию онлайн» и запишем в нижней части клеток;

3) выделим старые значения коэффициентов разрешающей строки Помощь по линейному программированию онлайн и новые значения коэффициентов разрешающего столбца Помощь по линейному программированию онлайн;

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

После заполнения, всех клеток таблицы осуществляют ее преобразование в новую таблицу:

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

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

Помощь по линейному программированию онлайн

Возможно эти страницы вам будут полезны:

  1. Решение задач по математическому программированию
  2. Примеры решения задач по математическому программированию
  3. Заказать работу по математическому программированию
  4. Помощь по математическому программированию
  5. Задачи математического программирования
  6. Задача линейного программирования
  7. Примеры решения задач по линейному программированию
  8. Решение задач по линейному программированию
  9. Методы решения задач линейного программирования
  10. Графическое решение задач линейного программирования
  11. Графический метод решения задач линейного программирования
  12. Заказать работу по линейному программированию
  13. Контрольная работа по линейному программированию
  14. Линейное программирование в Excel
  15. Курсовая работа по линейному программированию