Скачать презентацию РЕШЕНИЕ ОПТИМИЗАЦИОННЫХ ЗАДАЧ Оптимизационная задача связана с Скачать презентацию РЕШЕНИЕ ОПТИМИЗАЦИОННЫХ ЗАДАЧ Оптимизационная задача связана с

Оптим -1(ЗЛП).ppt

  • Количество слайдов: 69

РЕШЕНИЕ ОПТИМИЗАЦИОННЫХ ЗАДАЧ • Оптимизационная задача связана с нахождением среди множества решений оптимального решения РЕШЕНИЕ ОПТИМИЗАЦИОННЫХ ЗАДАЧ • Оптимизационная задача связана с нахождением среди множества решений оптимального решения – оптимума, т. е. наилучшего варианта достижения цели с наименьшими затратами времени, сил и ресурсов. Цели могут быть самые различные и отличаться друг от друга качественно и количественно. • Примерами могут служить различные задачи оптимального использования сырьевых ресурсов для получения максимального количества продукции заданного ассортимента, минимизация отходов, максимизация прибыли; задачи составления сбалансированных рационов питания при минимизации затрат на их составление; составление графиков развозки готовой продукции, обеспечивающих минимизацию транспортных расходов и т. д. • Постановка задачи оптимизации связана с выбором целевой функции L(x 1, …, xn), подлежащей оптимизации, и ограничений по аргументам xi , вытекающим из физического смысла задачи. Результатом решения задачи оптимизации будут значения аргументов, при которых достигается максимальное или минимальное значение целевой функции при заданных ограничениях.

Примеры на составление ЗЛП Задача о потребительской корзине Целевая функция – минимальная стоимость корзины Примеры на составление ЗЛП Задача о потребительской корзине Целевая функция – минимальная стоимость корзины Сi - стоимость ед. продукции; xi – объем i-го вида продукции; n – количество видов продукции Ограничения - поддержание чувства сытости

b 1 - суммарная масса всех продуктов корзины по белкам b 2 – предельная b 1 - суммарная масса всех продуктов корзины по белкам b 2 – предельная норма белков; a 2 i – содержание белка в iом продукте - по жирам b 3 – предельная норма жиров; a 3 i – содержание жира в iом продукте - по углеводам b 4 – предельная норма углеводов; a 4 i – содержание углеводов в i-ом продукте

Задача на составление производственной программы сорт колбасы кол-во расход сырья на 1 кг продукции Задача на составление производственной программы сорт колбасы кол-во расход сырья на 1 кг продукции приб свинина шпик ыль говядина в/с 1 с 2 с п/ж в/с русская Х 1 0. 46 - - 0. 23 80 в/с докторская Х 2 0. 20 - - 0. 65 35 1 с столовая Х 3 - 0. 35 - 0. 52 42 1 с отдельная Х 4 - 0. 51 - 0. 21 0. 13 44 2 с чайная Х 5 - - 0. 58 0. 17 0. 08 25 стоимость сырья 208 173 139 173 184 запасы сырья 300 250 100 110 70

- Целевая функция – максимальна прибыль - Ограничения по сырью: торговые - Целевая функция – максимальна прибыль - Ограничения по сырью: торговые

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

Общая задача линейного программирования формулируется следующим образом: требуется найти экстремальное значение (max или min) Общая задача линейного программирования формулируется следующим образом: требуется найти экстремальное значение (max или min) линейной функции n переменных x 1, x 2, …, xn : при ограничениях уравнений (неравенств) и условиях в виде системы k линейных алгебраических

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

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

то а если то Соответствующее ограничение принимает следующий вид то а если то Соответствующее ограничение принимает следующий вид

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

Решение ОЗЛП осуществляется на ее информационной модели, представленной в канонической форме. При переходе к Решение ОЗЛП осуществляется на ее информационной модели, представленной в канонической форме. При переходе к канонической форме записи выделяют m базисных переменных по числу ограничений, оставшиеся n – m переменных являются свободными. Ограниченияравенства разрешаются относительно базисных переменных. Базисные переменные путем подстановки исключаются из правых частей ограничений и из целевой функции так, что в правых частях ограничений и в целевой функции остаются только свободные переменные. И каноническая форма ОЗЛП принимает вид где переменные xi с номерами от 1 до n–m ─ свободные; переменные xn-m+j с номерами от n–m+1 до n ─ базисные; λ, β, α ─ новые коэффициенты целевой функции и ограничений, полученные в результате выделения базисных переменных.

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

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

Сведем исходную задачу к канонической форме где дополнительные переменные x 3, x 4 ─ Сведем исходную задачу к канонической форме где дополнительные переменные x 3, x 4 ─ приняты в качестве базисных, а переменные x 1, x 2 являются свободными. Решение будем искать на координатной плоскости x 1 - x 2 в первом квадранте. Запишем два уравнения прямых линий, приравняв в ограничениях x 3, x 4 нулю. Эти прямые линии совместно с координатными осями (рис. 5) образуют многоугольник OABC, все точки которого удовлетворяют исходной системе ограничений. Этот многоугольник называется областью допустимых решений (ОДР), а его вершины ─ опорными точками.

Коэффициенты линейной формы целевой функции определяют семейство параллельных прямых на плоскости. Стрелки указывают направление Коэффициенты линейной формы целевой функции определяют семейство параллельных прямых на плоскости. Стрелки указывают направление ее уменьшения. Минимальное значение целевой функции достигается в точке A, где L(x)min= – 3 (при x 1=0; x 2=3). Максимальное значение целевой функции достигается в точке B при движении в противоположном направлении L(x)max= 1, 05 (при x 1=2, 315; x 2=1, 26). Обычно оптимальное решение находится в одной из опорных точек ОДР. Поэтому последовательный перебор опорных точек позволяет определить оптимальное значение целевой функции.

X 2 L=X 1 -X 2 A B C O X 1 3 X X 2 L=X 1 -X 2 A B C O X 1 3 X 1+4 X 2=12 4 X 1 -X 2=8 Графическое решение ОЗЛП (оптимум в точке B)

X 2 3 X 1+X 2=6 A B 2 X 1+4 X 2=9 O X 2 3 X 1+X 2=6 A B 2 X 1+4 X 2=9 O C X 1 L=-6 X 1 -2 X 2 Графическое решение ОЗЛП (оптимум в каждой точке отрезка BC)

X 2 X 2=2 B X 1 - X 2=1 A 0 X 1 X 2 X 2=2 B X 1 - X 2=1 A 0 X 1 L=X 1+ X 2 Графическое решение ОЗЛП (нет конечного решения)

X 2 3 X 1 + 5 X 2 =15 X 1 + X X 2 3 X 1 + 5 X 2 =15 X 1 + X 2 =10 X 1 L=2 X 1 + 3 X 2 Графическое решение ОЗЛП (нет допустимых решений)

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

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

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

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

Пример: Решить симплекс-методов задачу линейного программирования. Ввод информационной модели Информационную модель запишем в виде Пример: Решить симплекс-методов задачу линейного программирования. Ввод информационной модели Информационную модель запишем в виде

Путем ввода дополнительных x 6 и x 7 переменных переходим от ограничений-неравенств к равенствам: Путем ввода дополнительных x 6 и x 7 переменных переходим от ограничений-неравенств к равенствам: Информационная модель ОЗЛП принимает вид:

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

Подставляя выражения соответствующих базисных переменных в правые части ограничений и в целевую функцию после Подставляя выражения соответствующих базисных переменных в правые части ограничений и в целевую функцию после приведения подобных членов получаем каноническую форму ОЗЛП из которой, принимая значения свободных переменных x 2 = x 4 = x 5 = 0 получим вариант решения x 6 = 8, 67; x 7 = – 3, 67; x 1 = – 1, 67 и L(x) =– 1, 67. Данное решение не является допустимым, так как две переменные x 7 и x 1 имеют отрицательные значения, что противоречит условию.

Поиск допустимого решения связан с нахождением такого распределения переменных на базисные и свободные в Поиск допустимого решения связан с нахождением такого распределения переменных на базисные и свободные в канонической форме ОЗЛП, в котором все свободные члены в ограничениях-равенствах были бы положительными. Выбор базисных и свободных переменных осуществляется по следующей схеме: - выбирается ограничение с отрицательным свободным членом βj<0 (в примере это второе ограничение); - в этом ограничении выбирается i-тая свободная переменная с коэффициентом αji>0 (в примере это x 4 ). Если все переменные в этом ограничении имеют отрицательные или нулевые коэффициенты, то задача не имеет решения так как ограничения не совместны, и соответственно, отсутствует ОДР; - выбирается k-тое ограничение, в котором коэффициент при выбранной свободной переменной не равен нулю αji ≠ 0, имеет противоположный знак со свободным членом αji βj >0 и соотношение модулей свободного члена и этого коэффициента минимально:

по Таким образом, выбирается свободная переменная x 4 и базисная x 7: по Таким образом, выбирается свободная переменная x 4 и базисная x 7:

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

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

Поиск оптимального решения заключается в таком преобразовании канонической формы ОЗЛП, при котором бы сохранились Поиск оптимального решения заключается в таком преобразовании канонической формы ОЗЛП, при котором бы сохранились признаки допустимого решения и коэффициенты целевой функции были бы положительными. Преобразование канонической формы в целях оптимизации решения сводится к пошаговому выбору свободной и базисной переменных, замена которых улучшает (уменьшает) значение целевой функции, и к самой замене базисной и свободной переменных до тех пор, пока не выполнится условие оптимальности. Поиск элементов, подлежащих замене, осуществляется следующим образом: - выбирается i-тая переменная, коэффициент при которой в целевой функции имеет отрицательное значение λi < 0; увеличение ее уменьшает значение целевой функции, т. е. определяется i-тая свободная переменная, подлежащая замене; - выбирается k-тое ограничение, в котором коэффициент при выбранной свободной переменной отрицательный αki < 0 и модуль отношения свободного члена к нему

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

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

Полученное решение отвечает всем требованиям допустимости и оптимальности и является окончательным. Полученное решение отвечает всем требованиям допустимости и оптимальности и является окончательным.

Пример решения задачи линейного программирования в Excel Рацион для питания животных на ферме состоит Пример решения задачи линейного программирования в Excel Рацион для питания животных на ферме состоит из двух видов кормов I и II. Один килограмм корма I стоит 80 ден. ед. и содержит: 1 ед. жиров, 3 ед. белков, 1 ед. углеводов, 2 ед. нитратов. Один килограмм корма II стоит 10 ден. ед. и содержит: 3 ед. жиров, 1 ед. белков, 8 ед. углеводов, 4 ед. нитратов. Составить наиболее дешевый рацион питания, обеспечивающий жиров не менее 6 ед. , белков не менее 9 ед. , углеводов не менее 8 ед. , нитратов не более 16 ед. Число единиц Необходим питательных веществ в 1 ый Питательно кг корма минимум е вещество питательн I II ых веществ Жир 6 1 3 Белок 9 3 1 Углеводы 8 1 8 Нитриты 16 2 4

Составляется математическая модель задачи. Обозначим х1, х2 – количество кормов I и II, входящих Составляется математическая модель задачи. Обозначим х1, х2 – количество кормов I и II, входящих в дневной рацион. Тогда этот рацион будет включать (1*х1 + 3*х2) ед. белков, (3*х1 + 1*х2) ед. жира, (1*х1 + 8*х2) ед. углеводов, (2*х1 + 4*х2) ед. нитритов. Так как содержание белка, жира и углеводов должно быть не менее соответственно 6, 9 и 8, а нитриты не более 16 единиц, то получим систему неравенств: Кроме этого, x 1 и x 2 0. Общая стоимость рациона составит (в ден. ед. ) L = 80*x 1 + 10*x 2 → min

Перейдем к вводу исходных данных на рабочем листе Excel для решения задачи. Для этого: Перейдем к вводу исходных данных на рабочем листе Excel для решения задачи. Для этого: 1. Отведите ячейки A 2: D 7 для ввода исходных данных. 2. Введите в ячейку B 12 функцию цели = 80*B 9 + 10*B 10 1. Введите в ячейки диапазона B 15: B 18 левые части ограничений Ячейка Формула B 15 = B 9*C 4 + B 10*D 4 B 17 = B 9*C 6 + B 10*D 6 B 16 = B 9*C 5 + B 10*D 5 B 18 = B 9*C 7 + B 10*D 7

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

4. Выберите команду Сервис Поиск решения и заполните диалоговое окно Поиск решения, как показано 4. Выберите команду Сервис Поиск решения и заполните диалоговое окно Поиск решения, как показано на рисунке.

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

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

7. После нажатия кнопки ОК, результаты будут внесены на рабочий лист. 7. После нажатия кнопки ОК, результаты будут внесены на рабочий лист.

Транспортная задача линейного программирования Симплекс-метод решения задачи линейного программирования является универсальным и применим для Транспортная задача линейного программирования Симплекс-метод решения задачи линейного программирования является универсальным и применим для решения любых такого рода задач. Однако существуют некоторые частные типы задач линейного программирования, которые, в силу некоторых особенностей своей структуры, допускают решение более простыми методами. К ним относится, в частности, так называемая транспортная задача. Классическая транспортная задача линейного программирования формулируется следующим образом. Имеется m пунктов отправления: А 1, А 2, …, Аm, в которых a 1, a 2, …, am единиц. Кроме того, имеется n пунктов назначения: В 1, В 2, …, Вn, подавших заявки соответственно на b 1, b 2 , …, bn единиц товара. сосредоточены запасы некоторого товара в количестве соответственно Предполагается, что сумма всех заявок равна сумме всех запасов:

Известна стоимость cij перевозки единицы товара от каждого пункта отправления Аi до каждого пункта Известна стоимость cij перевозки единицы товара от каждого пункта отправления Аi до каждого пункта назначения Вj. Таблица стоимостей перевозки cij задана табл. 1. Таблица 1 C 12 … C 1 n C 21 C 22 … C 2 n … … Cm 1 Cm 2 … C mn Требуется составить такой план перевозок, при котором все заявки были бы выполнены, и при этом общая стоимость всех перевозок была минимальна.

Обозначим через xij количество товара, отправляемого из i-го Ai в j-ый пункт Bj. Неотрицательные Обозначим через xij количество товара, отправляемого из i-го Ai в j-ый пункт Bj. Неотрицательные переменные xij должны удовлетворять следующим условиям. 1. Суммарное количество товара, направляемого из каждого пункта отправления во все пункты назначения, должно быть равно запасу товара в данном пункте:

2. Суммарное количество товара, доставляемого в каждый пункт назначения из всех пунктов отправления, должно 2. Суммарное количество товара, доставляемого в каждый пункт назначения из всех пунктов отправления, должно быть равно заявке, поданной данным пунктом: 3. Суммарная стоимость всех перевозок, т. е. сумма произведений xij на соответствующие cij должна быть минимальна:

Выражения (2), (3) и (4) представляют запись типичной задачи линейного программирования, но у нее Выражения (2), (3) и (4) представляют запись типичной задачи линейного программирования, но у нее есть характерные особенности: - коэффициенты при неизвестных в ограничениях (2) и (3) равны единице; - не все m + n уравнений являются не зависимыми, они связаны условием (1), т. е. ранг системы уравнений (2) и (3) равен m + n – 1. Эти уравнения можно разрешить относительно m + n – 1 базисных переменных, выразив их через остальные, свободные. Будем называть переменные xij перевозками. Любую совокупность (xij) будем называть планом перевозок или просто планом. План (xij) будем называть допустимым, если он удовлетворяет условиям (2) и (3). Допустимый план называется опорным, если в нем отличны от нуля не более m + n – 1 базисных перевозок xij, а остальные перевозки равны нулю.

План (xij) называется оптимальным, если он, среди всех допустимых планов, приводит к наименьшей стоимости План (xij) называется оптимальным, если он, среди всех допустимых планов, приводит к наименьшей стоимости всех перевозок. Решение транспортной задачи сводится к манипуляциям с так называемыми транспортными таблицами (табл. 2). Таблица 2 ПО / ПН B 1 B 2 … Bn Запасы ai A 1 C 12 … C 1 n a 1 A 2 C 21 C 22 … C 2 n a 2 … Am … Cm 1 … Cm 2 … … … Cmn … am b 1 b 2 … bn Заявки bj

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

Пример: Найти оптимальное решение транспортной задачи, условия которой заданы табл. 3. Таблица 3 ПО Пример: Найти оптимальное решение транспортной задачи, условия которой заданы табл. 3. Таблица 3 ПО / ПН B 1 B 2 Bn Запасы ai A 1 A 2 2 4 7 5 3 6 50 40 Am Заявки bj 7 8 2 30 120 20 60 40 Нахождение опорного плана В отличие от общего случая ОЗЛП с произвольными ограничениями и минимизируемой функцией, решение транспортной задачи всегда существует. Решение задачи начинается с нахождения опорного решения (опорного плана). Наиболее простым способом является так называемый «способ северо-западного угла» .

Начинаем с удовлетворения первой заявки (пункт В 1). Потребность в 20 единицах продукции полностью Начинаем с удовлетворения первой заявки (пункт В 1). Потребность в 20 единицах продукции полностью удовлетворяется за счет запасов в пункте отправления А 1 (50 единиц). Запишем перевозку в клетку (1, 1). Оставшимися 30 единицами в пункте А 1 частично удовлетворяем заявку пункта В 2, а недостающие 30 единиц забираем из пункта А 2. Оставшимися 10 единицами в пункте А 2 частично удовлетворяем заявку пункта А 1, а недостающие 30 единиц забираем из пункта А 3. На этом распределение запасов закончено: каждый пункт назначения получил груз согласно своей заявке. Это выражается в том, что сумма перевозок в каждой строке равна соответствующему запасу, а в столбце ─ заявке. Составлен план перевозок, удовлетворяющий балансовым уравнениям (2) и (3). Полученное решение (см. табл. 4) является не только допустимым, но и опорным решением транспортной задачи, поскольку число базисных перевозок xij удовлетворяет условию m + n – 1 = 3 + 3 – 1 = 5.

. Таблица 4 ПО / ПН A 1 B 2 2 20 7 4 . Таблица 4 ПО / ПН A 1 B 2 2 20 7 4 3 Am 5 7 30 20 Запасы ai 50 30 A 2 Заявки bj Bn 6 2 30 10 8 60 40 30 40 120 Но полученный план перевозок в большинстве случаев не является оптимальным, поскольку при его составлении не учитывались стоимости перевозок cij Следующим этапом решения является улучшение плана перевозок с целью минимизации суммарных транспортных расходов.

Улучшение плана перевозок методом потенциалов В методе потенциалов предполагается, что каждый из пунктов отправления Улучшение плана перевозок методом потенциалов В методе потенциалов предполагается, что каждый из пунктов отправления Аi и назначения Bj вносят за перевозку единицы груза (все равно, куда) определенные суммы αi и βj , соответственно. Сумма называется «псевдостоимостью» перевозки единицы груза из Аi в Bj. Всю совокупность платежей обозначим через (αi, βj). В «теореме о платежах» доказано, что для заданной совокупности платежей (αi, βj) суммарная псевдостоимость перевозок при любом допустимом плане перевозок (xij) сохраняет одно и то же значение. Это значение зависит только от совокупности платежей (αi, βj), но не зависит от того, какой именно допустимый план (xij) был реализован.

Платежи и псевдостоимости связаны с истинными стоимостями перевозок cij. Для невырожденного плана (число базисных Платежи и псевдостоимости связаны с истинными стоимостями перевозок cij. Для невырожденного плана (число базисных клеток в таблице равно m + n – 1) платежи (αi, βj) определяются так, чтобы во всех базисных клетках псевдостоимости были равны стоимостям: при Что касается свободных клеток (где xij = 0), то в них соотношение между псевдостоимостями и стоимостями может быть каким угодно. Однако по этому соотношению можно установить, является ли план оптимальным, или же он может быть улучшен.

Доказано, что если для всех базисных клеток плана (xij>0) а для свободных клеток (xij=0) Доказано, что если для всех базисных клеток плана (xij>0) а для свободных клеток (xij=0) то план является оптимальным и никаким способом улучшен быть не может. План, обладающий указанными свойствами, называется потенциальным, а соответствующие ему платежи (αi, β j) - потенциалами пунктов Аi в Bj. Процедура построения оптимального плана сводится к следующим операциям. В качестве первого приближения берется опорный план (табл. 4). Для такого плана определяются платежи (αi, чтобы в базисных клетках βj), исходя из условия,

m Поскольку число базисных клеток для невырожденного плана + n – 1, а число m Поскольку число базисных клеток для невырожденного плана + n – 1, а число платежей равно m + n, один из платежей задается произвольно (например, α 1=0). Рассчитываются псевдостоимости перевозок для всех свободных клеток (табл. 5). Таблица 5 ПО / ПН B 1 A 2 A 3 B 2 B 3 2 20 αi 3 30 4 8 50 5 0 30 7 4 Запасы ai 40 -2 30 -6 6 10 8 1 0 2 30 Заявки bj 20 60 40 βj 2 7 8 120

Суммарная стоимость перевозок по этому плану равна. В полученном плане не для всех свободных Суммарная стоимость перевозок по этому плану равна. В полученном плане не для всех свободных клеток выполняется условие (клетка (1, 3)), следовательно этот план не является оптимальным и его можно улучшить. При улучшении плана выбранная свободная переменная переводится в базисные путем переброски перевозок по циклу, соответствующему данной свободной клетке. Цена этого цикла 3 – 8 Цикл проходит через одну выбранную свободную клетку и несколько = – 5. базисных клеток ((1, 2), (2, 3)). Чтобы перевозки не стали отрицательными можно перебросить не более 10 единиц груза. В результате приходим к новому плану перевозок (табл. 6). Стоимость перевозок по этому плану снизилась на величину и оказалась равной 470.

Таблица 6 ПО /ПН B 1 A 1 B 2 2 20 A 2 Таблица 6 ПО /ПН B 1 A 1 B 2 2 20 A 2 Запасы ai αi 3 10 50 0 5 40 7 1 7 20 4 0 A 3 B 3 6 1 40 -2 30 -1 8 6 2 30 Заявки bj 20 60 40 βj 2 7 3 120

Для этого плана вычисляются новые значения платежей. Рассчитанные псевдостоимости перевозок для всех свободных клеток Для этого плана вычисляются новые значения платежей. Рассчитанные псевдостоимости перевозок для всех свободных клеток удовлетворяют условию , что говорит об оптимальности плана перевозок по критерию стоимости. Понятиям «платежей» и «псевдостоимостей» можно дать наглядную экономическую интерпретацию. Представим себе, что (αi, Bj βj ) - реальные платежи, которые пункты Аi в платят за перевозку единицы груза какому-то «перевозчику» . Перевозка единицы груза из пункта в пункт объективно стоит , а стороны Аi в Bj платят за эту перевозку «перевозчику» сумму . Оптимальным будет такой план перевозок, при котором пункты Аi в Bj не переплачивают «перевозчику» ничего сверх объективной стоимости перевозок, т. е. такой план, любое отступление от которого невыгодно для компании А, B – оно заставит платить за перевозки больше, чем если бы они возили грузы сами.

Особые случаи «Вырожденный» план возникает в том случае, когда число базисных клеток оказывается меньше Особые случаи «Вырожденный» план возникает в том случае, когда число базисных клеток оказывается меньше величины m + n – 1. Для перехода от вырожденного плана к невырожденному в нужном месте изменяются запасы или заявки на величину ε. За счет этой добавки появляются недостающие дополнительные базисные клетки, находится решение транспортной задачи и после этого полагается ε = 0. Неправильный баланс (избыток запасов). В этом случае вводится дополнительный фиктивный пункт назначения Bn+1, которому приписывается фиктивная заявка, равная избытку запасов над заявками. После нахождения решения транспортной задачи с правильным балансом обнуляются все поставки в фиктивный пункт назначения Bn+1. Неправильный баланс (избыток заявок). В этом случае вводится дополнительный фиктивный пункт отправления Am+1, которому приписывается фиктивный запас, равный избытку заявок над запасами. После нахождения решения транспортной задачи с правильным балансом обнуляются все поставки из фиктивного пункта отправления Am+1.

Пример решения транспортной задачи в Excel Агрофирма включает в себя 4 сельскохозяйственных предприятия, продукция Пример решения транспортной задачи в Excel Агрофирма включает в себя 4 сельскохозяйственных предприятия, продукция которых поставляется в 5 населенных пунктов. Производственные возможности агрофирм 200, 150, 225 и 175 единиц продукции соответственно. Населенные пункты с потребностями в 100, 200, 50, 250 и 150 единиц продукции соответственно. Стоимость перевозки единицы продукции с агрофирмы в населенные пункты приведена в табл. 7. Таблица 7 1 2 3 4 5 B 1 B 2 B 3 B 4 B 5 А 1 1, 50 2, 00 1, 75 2, 25 200 А 2 2, 50 2, 00 1, 75 1, 00 1, 50 150 А 3 2, 00 1, 50 1, 75 225 А 4 2, 00 0, 50 1, 75 100 200 50 250 150 Агрофирма Потребност ь: Производств о

Необходимо так спланировать перевозки, чтобы минимизировать суммарные транспортные расходы. Порядок выполнения Выполните следующую подготовительную Необходимо так спланировать перевозки, чтобы минимизировать суммарные транспортные расходы. Порядок выполнения Выполните следующую подготовительную работу для решения транспортной задачи с помощью средства Поиск решения: Введите в ячейки диапазона B 3: F 6 стоимости перевозок. Отведите ячейки диапазона B 8: F 11 под значения неизвестных (объемов перевозок). Введите в ячейки диапазона H 8: H 11 объемы производства на фабриках. Введите в ячейки диапазона B 13: F 13 потребность в продукции в пунктах распределения. В ячейку B 16 введите функцию цели = СУММПРОИЗВ(B 3: F 6; B 8: F 11). В ячейки диапазонов G 8: G 11 введите формулы, вычисляющие объемы производства на фабриках, в ячейки диапазона B 12: F 12 объемы доставляемой продукции в пункты распределения, а именно:

Ячейка Формула G 8 =СУММ(B 8: F 8) B 12 =СУММ(B 8: B 11) Ячейка Формула G 8 =СУММ(B 8: F 8) B 12 =СУММ(B 8: B 11) G 9 =СУММ(B 9: F 9) C 12 =СУММ(C 8: C 11) G 10 =СУММ(B 10: F 10) D 12 =СУММ(D 8: D 11) G 11 =СУММ(B 11: F 11) E 12 =СУММ(E 8: E 11) F 12 =СУММ(F 8: F 11)

7. Выберите команду Сервис Поиск решения и заполните диалоговое окно Поиск решения, как показано 7. Выберите команду Сервис Поиск решения и заполните диалоговое окно Поиск решения, как показано на рис. Заполненное диалоговое окно Поиск решения

8. Нажмите кнопку Выполнить. Средство Поиск решения найдет оптимальный план поставок продукции и соответствующие 8. Нажмите кнопку Выполнить. Средство Поиск решения найдет оптимальный план поставок продукции и соответствующие ему транспортные расходы.

Оптимальное решение транспортной задачи Оптимальное решение транспортной задачи