Задачи линейного программирования (оптимизация)



Скачать 113.01 Kb.
Дата01.01.2013
Размер113.01 Kb.
ТипЗадача

Информатика. Домашнее задание №2. Задачи линейного программирования

Задачи линейного программирования (оптимизация)


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

Пример

Найти максимальное значение функции



при следующих ограничениях на переменные и



Линейная функция называется функцией цели или целевой функцией.

Ограничения могут быть как не жесткие, т.е. в виде строгих или нестрогих неравенств, а могут быть жесткими – в виде равенств.

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

Рассмотрим процесс построения математической модели ЗЛП на примерах некоторых экономических задач.

Построение математических моделей для экономических задач


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

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


Рассмотрим следующую задачу.

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



Изучение рынка сбыта показало, что спрос на краску для внутренних работ никогда не превышает 4т. в сутки. Цена продажи 1т. краски для наружных работ – 2 ден.ед., для внутренних работ – 3 ден.ед. Определить какое количество краски каждого вида должна производить фирма, чтобы доход от реализации продукции был максимальным.

Итак, цель задачи – получение максимальной прибыли.

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

Выразим через выбранные неизвестные суммарную прибыль фирмы от продажи краски:

.

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

Получаем следующую систему ограничений:



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



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

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

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

Задача о составлении оптимального рациона (на минимизацию)


Предположим, что нам необходимо составить оптимальный суточный рацион кормления на стойловый период для дойных коров. На 1 голову скота в сутки требуется не менее 16,1кг кормовых единиц и 1819г перевариваемого протеина. Рацион составляется из трёх видов кормов: комбикорма, сена, силоса. Содержание питательных веществ в единице каждого вида корма и себестоимость кормов приведены в таблице ниже.

Таблица 1. Содержание питательных веществ в 1 кг корма и себестоимость кормов



Согласно физиологическим особенностям животных в рационе должно содержаться не менее 31% концентрированных (комбикорм) и не более 26% грубых (сено) кормов от общей потребности в кормовых единицах.

Критерий оптимальности – минимум себестоимости рациона при выполнении условий по необходимому содержанию питательных веществ в рационе.

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

Целевая функция – общая стоимость суточного рациона кормления:

.

Составим систему ограничений:

  1. условие по содержанию кормовых единиц в рационе:

;

  1. условие по содержанию переваримого протеина в рационе:

;

  1. условие по содержанию концентрированных кормовых единиц в рационе (не менее кг корм. ед.):

;

  1. условие по содержанию грубых кормов (не более кг корм. ед.)

.

  1. условие неотрицательности количества корма каждого вида:

.

Итак, общая система ограничений будет иметь вид:


Транспортная задача


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



Рис. 1

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

Экономическая постановка транспортной задачи звучит следующим образом:

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

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

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

Для примера, приведенного на рис. 1 суммарный запас составляет 190 ед., а потребность – 240 ед. Имеет место нехватка 50 ед. продукции на складах поставщика. Вводим фиктивного поставщика с запасом в 50 ед. Проводим от него фиктивные коммуникации с нулевыми стоимостями ко всем потребителям. Наша открытая транспортная задача в результате стала закрытой.


70


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

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

Далее будут рассмотрены только закрытые транспортные задачи.

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

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

.

Значение затрат на перевозки должно быть минимальным!

В общем виде можно записать целевую функцию в виде

.

Здесь – элементы матрица стоимостей перевозок. Для примера эта матрица имеет вид:

.

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

  1. условия полного вывоза продукции от каждого поставщика (таких условий будет столько, сколько имеется поставщиков );

  2. условия полного удовлетворения потребностей каждого потребителя (число условий равно числу потребителей ).

Т.о. в ТЗ будет всего ограничений. Запишем ограничения первой группы. Они будут иметь структуру:

Вывоз продукции от поставщика = запасу

Для нашего примера будет характерно



Рис.3.
– вывоз продукции по всем поставщикам. Запас его равен 120 ед. Условие полного вывоза будет иметь вид: .

Аналогично выглядят ограничения по вывозу продукции для второго и третьего поставщиков:

, .

Ограничения второй группы можно сформулировать в виде:

привоз продукции к потребителю = Потребности



Рис. 4.
Привоз продукции к первому потребителю составит: и этот привоз должен быть равен потребности, т.е. .

Аналогично для других потребителей:

, .

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

,



В общем виде математическую постановку ТЗ можно записать так

,



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

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

Основные сведения


К задачам с логическими переменными относятся задачи, переменные в которых могут принимать только два значения: 0 или 1. К таким задачам относятся задачи
о назначениях, задача коммивояжера и задача о доставке. Все они относятся к классу транспортных задач и являются целочисленными. Рассмотрим постановку этих задач.

Задача о назначениях


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

Пример

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

Математическая модель

Введем матрицу логических переменных значение которых равно 1, если выполнение -ой работы поручено -му работнику, и равно 0, в противном случае. Тогда, поскольку на работе может быть задействован только один работник, то справедливо равенство:

, .

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

, .

Целевая функция определяет эффективность всех работников при выполнении всех работ, которая должна быть максимальной

.

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

Задача коммивояжера


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

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

Математическая модель

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

.

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

, – только один въезд в город ,

, – только один выезд из города .

В задаче коммивояжера необходимо еще одно условие, а именно:

, , .

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

Задача о доставке


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

Математическая модель

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

Целевая функция, выражает суммарные расходы доставки по всем выбранным маршрутам

,

и должна быть минимальной.

Ограничения

, .

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





Похожие:

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

Задачи линейного программирования (оптимизация) iconЛинейное программирование задачи математического и линейного программирования
Соответствующие методы, позволяющие решать указанные задачи, объединяются под общим названием «математическое программирование»
Задачи линейного программирования (оптимизация) iconРешение многокритериальной задачи линейного программирования методом ограничений
Лабораторные работы по курсу тпр
Задачи линейного программирования (оптимизация) iconЛинейное программирование. Методы решения одношаговых задач оптимального управления
Методы решения таких задач получили название математического программирования. Простейшим случаем математического программирования...
Задачи линейного программирования (оптимизация) iconТематика и примеры контрольных заданий и вопросов (тестирование, индивидуальные типовые расчеты, коллоквиум) очная форма обучения тест №1. Тема «Линейное программирование»
Приводить задачу линейного программирования к канонической форме; применять графический метод, симплексный метод для решения задач...
Задачи линейного программирования (оптимизация) iconЗадача линейного программирования состоит в том, что необходимо максимизировать или минимизировать некоторый линейный функционал на многомерном пространстве при заданных линейных ограничениях
Цель данного курсового проекта составить план производства требуемых изделий, обеспечивающий максимальную прибыль от их реализации,...
Разместите кнопку на своём сайте:
ru.convdocs.org


База данных защищена авторским правом ©ru.convdocs.org 2012
обратиться к администрации
ru.convdocs.org