Рефетека.ру / Информатика и програм-ие

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

ПРАКТИКУМ

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

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


Введение


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

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


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


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

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


Практикум по решению линейных задач математического программирования (1)


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


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


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

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

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


Каноническая

Стандартная

Общая

1) Ограничения

Уравнения

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

Неравенства

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

Уравнения и неравенства

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

2) Условия неотрицательности

Все переменные

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

Все переменные

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

Часть переменных

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

3) Целевая функция

Практикум по решению линейных задач математического программирования (max или min)


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

Пример. Составить экономико-математическую модель задачи: Для выпуска изделий двух типов А и В на заводе используют сырье четырех видов (I, II, III, IV). Для изготовления изделия А необходимо: 2 ед. сырья первого вида, 1 ед. второго вида, 2 ед. третьего вида и 1 ед. четвертого вида. Для изготовления изделия В требуется: 3 ед. сырья первого вида, 1 ед. второго вида, 1 ед. третьего вида. Запасы сырья составляют: I вида – 21 ед., II вида – 8 ед., III вида – 12 ед., IV вида – 5 ед. Выпуск одного изделия типа А приносит 3 УДЕ прибыли, а одного изделия типа В – 2 УДЕ. Составить план производства, обеспечивающий наибольшую прибыль.

Решение. Достаточно часто при составлении математической модели экономической задачи бывает удобно данные условия представить в виде таблицы:


Сырье Кол-во сырья на ед. продукции, ед. Запас сырья, ед.

А В
I 2 3 21
II 1 1 8
III 2 1 12
IV 1 5
Прибыль от ед. продукции, УДЕ 3 2

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

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

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


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


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


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


Пример. Составить математическую модель задачи: На четырех станках (I, II, III, IV) обрабатываются два вида деталей (А и В). Каждая деталь проходит обработку на всех станках. Известны время обработки деталей на каждом станке, время работы станков в течение одного цикла производства и прибыль, полученная от выпуска одной детали. Данные приведены в таблице:


Станки Время обработки детали, ч.

Время работы станка

(цикл пр-ва), ч.


А В
I 1 2 16
II 2 3 26
III 1 1 10
IV 3 1 24
Прибыль от 1 детали, УДЕ 4 1

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

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

Тогда математическая модель задачи линейного программирования имеет вид:


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


Любая ЗЛП может быть сведена к канонической, стандартной или общей задаче.

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


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

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

2) Если ограничение содержит знак «=», то дополнительную переменную вводить не нужно.

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


Практикум по решению линейных задач математического программирования max (min)

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

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


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


Практикум по решению линейных задач математического программирования max (min)

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

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


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


Практикум по решению линейных задач математического программирования max (min)

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

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


Задания для самостоятельной работы.

Составить экономико-математические модели следующих задач:

Для изготовления двух видов продукции P1 и Р2 используют четыре вида ресурсов S1, S2, S3 и S4. Запасы ресурсов, число единиц ресурсов, затрачиваемых на изготовление единицы продукции, приведены в таблице:


Вид

ресурса

Запас

ресурса

Число ед. ресурсов,

затрачиваемых на изготовление ед. продукции



Р1 Р2
S1 18 1 3
S2 16 2 1
S3 5 1
S4 21 3

Прибыль, получаемая от единицы продукции Р1 и Р2, – соответственно 2 грн. и 3 грн.

На приобретение оборудования для нового производственного участка общей площадью 375 м2 предприятие обладает необходимым количеством денежных средств. Предприятие может заказать оборудование двух видов: машины первого типа стоимостью 10000 грн., требующие производительную площадь 6 м2 (с учетом проходов), производящие 4000 единиц продукции за смену, и машины второго типа стоимостью 20000 грн., занимающие 10 м2 площади, производящие 5000 единиц продукции за смену. Общая производительность данного производственного участка должна быть не менее 221000 единиц продукции за смену. Построить модель задачи при условии, что оптимальным для предприятия вариантом приобретения оборудования считается тот, который обеспечивает наименьшие общие затраты.

Фермер планирует произвести не менее 120 тонн пшеницы, 70 тонн кукурузы и 15 тонн гречихи. Для этого можно использовать два массива сельскохозяйственных угодий в 1000 и 800 га. В таблице приведены урожайность каждой культуры на различных участках (верхний показатель) и затраты на 1 га сельскохозяйственных угодий при производстве различных культур (нижний показатель). Требуется составить такой план засева, чтобы валовой сбор зерна удовлетворял плановому заданию, а стоимость затрат была наименьшей.


Поле Размер поля Культуры


пшеница кукуруза гречиха
I 1000

10

7

20

10

6

15

II 800

12

8

24

12

5

20

План по культурам 120 70 15

Фирма имеет возможность рекламировать свою продукцию, используя для этого телевидение, радио и газеты. Затраты на рекламу в бюджете фирмы ограничены суммой 8000 грн. в месяц. Опыт прошлых лет показал, что 1 грн., потраченная на телерекламу, дает фирме прибыль в размере 10 грн., а потраченная на рекламу по радио и в газетах – соответственно 4 и 8 грн.

Фирма намерена затратить на теле- и радиорекламу не более 70% рекламного бюджета, а затраты на газетную рекламу не должны больше чем вдвое превышать затраты на радиорекламу.

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

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


Заявка

Нужная ширина

рулона, м

Нужное кол-во

рулонов

1 0,8 150
2 1,0 200
3 1,2 300

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


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


1. Область решений линейных неравенств.

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


Практикум по решению линейных задач математического программированияПрактикум по решению линейных задач математического программирования (1)

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

Пример 1. Найти полуплоскость, определяемую неравенством

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

Решение. Строим прямую Практикум по решению линейных задач математического программирования по двум точкам, например, по точкам пересечения с осями координат (0; 4) и (6; 0). Эта линия делит плоскость на две части, т.е. на две полуплоскости. Берем любую точку плоскости, не лежащую на построенной прямой. Если координаты точки удовлетворяют заданному неравенству, то областью решений является та полуплоскость, в которой находится эта точка. Если же получаем неверное числовое неравенство, то областью решений является та полуплоскость, которой эта точка не принадлежит. Обычно для контроля берут точку (0; 0).

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

Пример 2. Найти полуплоскость, определяемую неравенством

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

Решение. Строим прямую Практикум по решению линейных задач математического программирования, например, по точкам (0; 0) и (1; 3). Т.к. прямая проходит через начало координат, точку (0; 0), то нельзя брать ее для контроля. Возьмем, например, точку (– 2; 0) и подставим ее координаты в заданное неравенство. Получим Практикум по решению линейных задач математического программирования. Это неверно. Значит, областью решений данного неравенства будет та полуплоскость, которой не принадлежит контрольная точка (заштрихованная часть рис. 2).

2. Область решений системы линейных неравенств.

Пример. Найти область решений системы неравенств:

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


Решение. Находим область решений I-го неравенства (рис. 1) и II-го неравенства (рис. 2).

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

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

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

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

3. Алгоритм графического метода решения ЗЛП

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

Строим все полуплоскости, соответствующие ограничениям системы.

Находим область допустимых решений (ОДР), как множество точек, в котором пересекаются все построенные полуплоскости.

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

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

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

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

Подставляем эти координаты в целевую функцию и находим ее max (или min).

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


Практикум по решению линейных задач математического программирования max

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


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

Т.о. задача примет вид


Практикум по решению линейных задач математического программирования max

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

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

Заменив знаки неравенств на знаки точных равенств, построим область допустимых решений по уравнениям прямых:

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

Областью решений неравенств является пятиугольник ABCDE.

Построим вектор Практикум по решению линейных задач математического программирования. Через начало координат перпендикулярно вектору Практикум по решению линейных задач математического программирования проведем линию уровня Практикум по решению линейных задач математического программирования. И затем будем перемещать ее параллельно самой себе в направлении вектора Практикум по решению линейных задач математического программирования до точки выхода из области допустимых решений. Это будет точка С. Найдем координаты этой точки, решив систему, состоящую из уравнений первой и четвертой прямых:


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


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


Практикум по решению линейных задач математического программирования max (min)

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


Решение. Область допустимых решений – открытая область (рис. 6). Линия уровня Практикум по решению линейных задач математического программирования проходит через точку В. Функция Z имеет минимум в этой точке. Линию уровня Практикум по решению линейных задач математического программирования построить нельзя, так как нет точки выхода из области допустимых решений, это значит, что Практикум по решению линейных задач математического программирования.

Задания для самостоятельной работы.

Найти область решений системы неравенств:

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


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


Практикум по решению линейных задач математического программирования min

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


Составить экономико-математическую модель и решить графически задачу линейного программирования

Фирма выпускает изделия двух видов А и В. Изделия каждого вида обрабатывают на двух станках (I и II). Время обработки одного изделия каждого вида на станках, время работы станков за рабочую смену, прибыль фирмы от реализации одного изделия вида А и вида В занесены в таблицу:


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

А В
I 10 20 1300
II 4 13 720
Прибыль от одного изделия, грн. 0,3 0,9

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

Определить план производства изделий, обеспечивающий наибольшую прибыль.

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


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

Этот метод включает в себя три основные этапа:

Построение начального опорного плана.

Правило перехода к лучшему (точнее, нехудшему) решению.

Критерий проверки найденного решения на оптимальность.

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

1) Построение начального опорного плана.

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

Признаком возможности построения начального опорного плана служит наличие в каждом ограничении-равенстве с неотрицательной правой частью базисной переменной.

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

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

Пример. Для данной задачи линейного программирования найти начальный опорный план (базисное решение).

Практикум по решению линейных задач математического программирования max

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


Решение. Изменим знаки второго и третьего неравенств на противоположные, умножив каждое из них на –1. Система ограничений теперь будет такой:


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


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


Практикум по решению линейных задач математического программирования max

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

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


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

Запишем теперь начальный опорный план


Практикум по решению линейных задач математического программирования(0; 0; 0; 0; 16; 4; 0).


2) Составление симплексных таблиц. Критерий оптимальности.

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


Базис

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

В

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

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

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

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




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

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

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


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

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

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

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

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

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


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

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

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

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

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

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



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

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

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

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

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

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


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

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

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

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

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


Здесь приняты следующие обозначения.

Столбец «Базис» – это базисные переменные.

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

Столбец «В» – правые части ограничений;

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

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

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

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


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


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

Например,


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


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

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

Опорный план будет оптимальным тогда и только тогда, когда все оценки

Практикум по решению линейных задач математического программирования для задачи на max и

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

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

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

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

На пересечении разрешающего столбца и разрешающей строки находится разрешающий элемент.

Теперь начинаем заполнять следующую таблицу. Покажем этот процесс на конкретном примере.

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


Практикум по решению линейных задач математического программирования max

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


Решение. 1) Приводим задачу к каноническому виду, т.е. из ограничений неравенств делаем равенства.


Практикум по решению линейных задач математического программирования max

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

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


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

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


Базис

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

В 2 3 0 0 0 0

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




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

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

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

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

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

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


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

0 18 1 3 1 0 0 0

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

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

0 16 2 1 0 1 0 0

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

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

0 5 0 1 0 0 1 0

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

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

0 21 3 0 0 0 0 1

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

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

0

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

–2

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

–3

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

0

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

0

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

0

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

0



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

Находим Практикум по решению линейных задач математического программирования: Практикум по решению линейных задач математического программирования; Практикум по решению линейных задач математического программирования; Практикум по решению линейных задач математического программирования

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

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

Практикум по решению линейных задач математического программирования = Практикум по решению линейных задач математического программирования

Или элемент Практикум по решению линейных задач математического программирования=Практикум по решению линейных задач математического программирования из прямоугольника

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

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


Базис

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

В 2 3 0 0 0 0

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




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

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

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

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

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

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


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

0 18 1 3 1 0 0 0 6

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

0 16 2 1 0 1 0 0 16

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

0 5 0 1 0 0 1 0 5

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

0 21 3 0 0 0 0 1

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

0 –2 –3 0 0 0 0 таб. 1

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

0 3 1 0 1 0 –3 0 3

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

0 11 2 0 0 1 –1 0 5,5

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

3 5 0 1 0 0 1 0

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

0 21 3 0 0 0 0 1 7

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

15 –2 0 0 0 3 0 таб. 2

Базис

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

В 2 3 0 0 0 0

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




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

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

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

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

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

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


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

2 3 1 0 1 0 –3 0

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

0 5 0 0 –2 1 5 0 1

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

3 5 0 1 0 0 1 0 5

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

0 12 0 0 –3 0 9 1

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

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

21 0 0 2 0 –3 0 таб. 3

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

2 6 1 0 –0,2 0,6 0 0

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

0 1 0 0 –0,4 0,2 1 0

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

3 4 0 1 0,4 –0,2 0 0

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

0 3 0 0 0,6 –1,8 0 1

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

24 0 0 0,8 0,6 0 0 таб. 4

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

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

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

Итак, Практикум по решению линейных задач математического программирования= (6; 4; 0; 0; 1; 3),

Практикум по решению линейных задач математического программирования= Практикум по решению линейных задач математического программирования= 24.

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

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

1) Если в оценочной строке симплекс-таблицы оценка Практикум по решению линейных задач математического программирования= 0 соответствует свободной переменной, то это означает, что ЗЛП имеет не единственный оптимальный план.

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

Задания для самостоятельной работы.

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


а)

Практикум по решению линейных задач математического программирования max

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

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


б)

Практикум по решению линейных задач математического программирования min

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

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


Понятие двойственности

1) Симметричные двойственные задачи

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

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


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

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


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


Практикум по решению линейных задач математического программирования (1)

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

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


Задачу (1) – (3) называют исходной.

По исходным данным задачи (1) – (3) сформируем другую экономическую задачу.

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

покупатель стремится минимизировать их общую стоимость;

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

Эти требования можно записать в виде следующей ЗЛП:


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

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

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


Или в краткой форме записи:


Практикум по решению линейных задач математического программирования (4)

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

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


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

Задачи (1) – (3) и (4) – (6) называют парой взаимно двойственных симметричных задач, т. к. они обладают следующими свойствами:

Если в одной задаче ищется максимум целевой функции, то в другой – минимум.

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

В каждой задаче система ограничений задается в виде неравенств, причем все они одного смысла: если задача на max, то все неравенства содержат знаки «Практикум по решению линейных задач математического программирования», если на min, то все неравенства содержат знаки «Практикум по решению линейных задач математического программирования».

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

Число неравенств в системе ограничений одной задачи равно числу переменных другой задачи.

Условие неотрицательности переменных сохраняется в обеих задачах.

Примечание: Понятие «прямой» и «двойственной» задач условно.

2) Построение модели двойственной задачи

Используя свойства (1–6), покажем на конкретном примере построение двойственной задачи.

Пример. Пусть исходная задача имеет вид:


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

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

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


Нужно составить к ней двойственную.

Решение. Запишем расширенную матрицу системы ограничений и транспонируем ее.



1 –1 2 2

1 2 5 11 2

2 1 –3 4
АТ= –1 1 –1 1 3
А = 5 –1 1 3

2 –3 1 2 1

11 1 2 1

2 4 3 1 min

2 3 1 max







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


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

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

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


Пример. К заданной задаче записать двойственную:

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


Решение. Так как задача на min, то все неравенства должны иметь знаки «Практикум по решению линейных задач математического программирования». С этой целью второе ограничение умножим на (–1); при этом знак неравенства изменится на противоположный. Теперь задача будет иметь вид:


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

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

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


Запишем матрицы А и АТ.



1 1 1

1 –2 5
А = –2 –3 –5
АТ= 1 –3 2

5 2 min

1 –5 max

Двойственная задача:


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

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

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


3) Применение теорем двойственности к анализу оптимальных решений пары симметричных двойственных задач

Рассмотрим следующую задачу. Предприятие планирует выпускать 3 вида продукции – П1, П2, П3. Для этого оно располагает объемами ресурсов 3-х видов Р1, Р2, Р3. Затраты каждого ресурса на изготовление единицы продукции и цена единицы продукции приведены в таблице:


Пj

Рi

П1 П2 П3

Объем

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

Р1 4 2 1 180
Р2 3 1 1 210
Р3 1 2 5 244

Цена

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

10 14 12

Требуется:

построить модель исходной и двойственной задач;

решить исходную задачу симплексным методом;

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

дать экономический анализ основным и дополнительным переменным оптимальных решений обеих задач;

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

Решение. 1. Построим модель исходной задачи


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

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

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


Здесь х1, х 2, х3 – план выпуска продукции.

Составим математическую модель двойственной задачи:

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

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

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


2. Решим исходную задачу симплексным методом.

Запишем ее канонический вид:


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

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

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


Практикум по решению линейных задач математического программированиях4, х5, х6 – дополнительные и они же базисные переменные. Начальный опорный план Практикум по решению линейных задач математического программирования(0; 0; 0; 180; 210; 244).


Базис

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

В 10 14 12 0 0 0

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




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

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

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

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

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

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


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

0 180 4 2 1 1 0 0 90

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

0 210 3 1 1 0 1 0 210

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

0 244 1 2 5 0 0 1 122

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

0 –10 –14 –12 0 0 0 таб. 1

Базис

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

В 10 14 12 0 0 0

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




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

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

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

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

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

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


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

14 90 2 1 0,5 0,5 0 0 180

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

0 120 1 0 0,5 –0,5 1 0 240

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

0 64 –3 0 4 –1 0 1 16

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

1260 18 0 –5 7 0 0 таб. 2

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

14 82 2,375 1 0 0,625 0 –0,125

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

0 80 1,375 0 0 0,125 1 –0,625

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

12 16 –0,75 0 1 –0,25 0 0,25

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

1340 14,25 0 0 5,75 0 1,25 таб. 3



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

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

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

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

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

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



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

Практикум по решению линейных задач математического программирования= (0; 82; 16; 0; 80; 0); Практикум по решению линейных задач математического программирования= 1340.

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


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

дополнительные переменные

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

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

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

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

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

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







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

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

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

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

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

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

дополнительные переменные основные переменные

Откуда: Практикум по решению линейных задач математического программирования5,75; Практикум по решению линейных задач математического программирования0; Практикум по решению линейных задач математического программирования1,25; Практикум по решению линейных задач математического программирования14,25; Практикум по решению линейных задач математического программирования0; Практикум по решению линейных задач математического программирования0.

Практикум по решению линейных задач математического программирования= (5,75; 0; 1,25; 14,25; 0; 0); Практикум по решению линейных задач математического программирования1340.

Таким образом получили Практикум по решению линейных задач математического программирования=Практикум по решению линейных задач математического программирования1340.

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

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

Продукцию І-го вида к выпуску не планируют, ІІ-го вида – в количестве 82 ед. и ІІІ-го вида – в количестве 16 ед.

Дополнительные переменные исходной задачи показывают остатки сырья.

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

Сырье І и ІІІ видов израсходовано полностью. А сырье ІІ вида осталось в количестве 80 ед.

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

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

Таким образом, сырье І и ІІІ видов дефицитное, причем наиболее дефицитное сырье І-го вида. Сырье ІІ вида недефицитное.

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

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

По этому соотношению видно, что продукция І вида нерентабельна, а ІІ и ІІІ – рентабельна.

Ответ: Практикум по решению линейных задач математического программирования= (0; 82; 16; 0; 80; 0); Практикум по решению линейных задач математического программирования= 1340;

Практикум по решению линейных задач математического программирования= (5,75; 0; 1,25; 14,25; 0; 0); Практикум по решению линейных задач математического программирования1340

Наиболее дефицитное сырье І вида. Наиболее убыточный І вид продукции.

Задания для самостоятельной работы.

Для производства четырех видов продукции (П1, П2, П3, П4) используются три вида ресурсов. Норма затрат ресурсов, использованных для выпуска единицы продукции каждого вида, цена единицы продукции и запасы ресурсов приведены в таблице.

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


Ресурсы Продукция Затраты ресурсов на единицу продукции

Объем

ресурсов


П1 П2 П3 П4
Р1 2 3 4 4 2100
Р2 5 5 0 7 2800
Р3 8 7 10 9 3000

Цена

единицы

60 65 55 62

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

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


Практикум по решению линейных задач математического программированияmax (1)

Практикум по решению линейных задач математического программирования (2)

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


Здесь: Практикум по решению линейных задач математического программирования– запасы поставщиков;

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

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

Z – транспортные расходы;

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

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

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

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


Практикум по решению линейных задач математического программирования (4)


Если условие (4) выполняется, то транспортную задачу называют транспортной задачей закрытого типа.

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

1) Построение начального опорного плана. Его вырожденность или невырожденность. Ранг матрицы системы.

а) Метод северо-западного угла.

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

Пример. Построить методом северо-западного угла начальный опорный план для транспортной задачи: поставщики а = (20; 30; 40); потребители Практикум по решению линейных задач математического программирования= (15; 35; 20; 20); тарифы перевозок

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

Найти стоимость перевозок.

Решение. Строим распределительную таблицу и находим груз х11 = min (20; 15) = 15. По первому столбцу не перемещаемся, так как спрос І потребителя удовлетворен. Перемещаемся по І строке в клетку (1; 2):

х12 = min (а1 – х11; b2) = min (5; 35) = 5.

Теперь переходим по ІІ столбцу в клетку (2; 2):

х22 = min (30; b2 – х12) = min (30; 30) = 30.

Так как спрос ІІ потребителя удовлетворен и у ІІ поставщика продукция уже выбрана, то переходим к клетке (3; 3):

х33 = min (40; 20) = 20.

х34 = min (а3 – х33; b4) = min (20; 20) = 20.

Таким образом, получен план перевозок:


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

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

15 35 20 20
20
4
6
12
5

15 5

30
2
7
8
10


30

40
5
3
4
6



20 20

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

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

б) Метод минимального элемента (наименьшей стоимости).

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

Пример. Построить начальный опорный план методом минимальной стоимости и найти транспортные расходы для транспортной задачи: поставщики а = (20; 30; 40); потребители Практикум по решению линейных задач математического программирования= (15; 35; 20; 20); тарифы перевозок

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

Решение. Строим распределительную таблицу и начинаем ее заполнять с клетки (2; 1), т. к. в ней наименьший тариф х21 = min (30; 15) = 15.


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

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

15 35 20 20
20
4
6
12
5




20
30
2
7
8
10

15
15
40
5
3
4
6


35 5

Потом заполняем клетку (3; 2) с тарифом с32 = 3;

х32 = min (40; 35) = 35.

Далее х33 = min (а3 – х32; b3) = (5; 20) = 5;

х14 = min (20; 20) = 20;

х23 = min (а2 – х21; b3 – х33) = min (15; 15) = 15.

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

Сравнивая значение Z в а) и б), видим, что учитывая стоимости перевозок, затраты при втором методе значительно меньше.

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

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

2) Метод потенциалов. Признак оптимальности опорного плана.

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


Практикум по решению линейных задач математического программирования для всех заполненных клеток; (5)

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


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

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

3) Переход к нехудшему опорному плану.

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

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

В каждом случае только одна вершина цикла находится в незаполненной клетке. Ее называют началом цикла и определяют по наибольшему нарушению условия оптимальности (6), т.е. по максимальной оценке Практикум по решению линейных задач математического программирования. Клетке начала цикла присваивают знак «+», во всех остальных вершинах цикла знаки чередуют «–», «+» и т.д. Из клеток цикла со знаками «–» выбирают ту, в которой находится минимальный груз. Это и будет то количество груза, которое нужно перераспределить по циклу, т.е. в клетке со знаком «+» это количество груза прибавляется, а со знаком «–» – вычитается. Клетки, которые не задействованы в цикле, остаются неизменными.

Таким образом, получаем новый опорный план. Подсчитываем транспортные расходы, которые должны быть не более предыдущих. В противном случае где-то допущена ошибка. Новый план опять проверяем на оптимальность, используя условия (5) и (6). Если план оптимальный, то задача решена. Если же план опять не оптимальный, то работаем, согласно пункту 3) до получения оптимального плана и нахождения Zmin.

Транспортная задача открытого типа

Если для транспортной задачи выполняется одно из условий


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

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


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

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

Запишем алгоритм решения транспортной задачи:

1) Проверка типа модели ТЗ.

2) Построение начального опорного плана (любым способом).

3) Проверка плана на вырожденность.

4) Проверка плана на оптимальность методом потенциалов:

а) нахождение потенциалов из системы

Практикум по решению линейных задач математического программирования (для всех заполненных клеток);

б) проверка второго условия оптимальности

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

5) Переход к нехудшему опорному плану (если это необходимо).

Пример. На складах имеются запасы однотипного товара в количестве а (35; 40; 40; 50), который необходимо доставить потребителям. Потребности потребителей задает вектор b (31; 52; 17; 20). Матрица затрат на доставку единицы товара от i-го поставщика j-му потребителю:

с=Практикум по решению линейных задач математического программирования

Составить план перевозок с минимальными транспортными затратами.

Решение. Определим тип модели транспортной задачи. Суммарная мощность поставщиков: Практикум по решению линейных задач математического программирования35+40+40+50=165 (единиц товара); Суммарный спрос потребителей: Практикум по решению линейных задач математического программирования31+52+17+20=120 (единиц товара).


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


Введем фиктивного потребителя, спрос которого равен


Практикум по решению линейных задач математического программированияПрактикум по решению линейных задач математического программированияПрактикум по решению линейных задач математического программирования 165 –120 =45 (единиц товара).

Тарифы Практикум по решению линейных задач математического программирования0. Т.о. получаем модель закрытого типа, m = 4 – число поставщиков, n = 5 – число потребителей. Ранг матрицы задачи Практикум по решению линейных задач математического программирования. Построим начальный опорный план методом минимального элемента (наименьшей стоимости).


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

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

31 52 17 20 45

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

35
5
4
3
1
0 0



15 20

40
2
3
5
8
0 1

31 9



40
6
8
7
10
0 4





40
50
5
6
7
2
0 4


43 2
5

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

1 2 3 1 – 4 Таб.1

Число заполненных клеток распределительной таблицы 8 равно рангу матрицы задачи r = 8, следовательно, опорный план является невырожденным.

Транспортные затраты, соответствующие опорному плану:

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

Исследуем опорный план на оптимальность, используя метод потенциалов.

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

Практикум по решению линейных задач математического программирования;

Практикум по решению линейных задач математического программирования;

Практикум по решению линейных задач математического программирования;

Практикум по решению линейных задач математического программирования;

Практикум по решению линейных задач математического программирования;

Практикум по решению линейных задач математического программирования;

Практикум по решению линейных задач математического программирования;

Практикум по решению линейных задач математического программирования;

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

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

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

(1; 1) Практикум по решению линейных задач математического программирования0 + 1 – 5 = –4Практикум по решению линейных задач математического программирования0;

(1; 2) Практикум по решению линейных задач математического программирования0 + 2 – 4 = –2Практикум по решению линейных задач математического программирования0;

(1; 5) Практикум по решению линейных задач математического программирования0 – 4 – 0 = –4Практикум по решению линейных задач математического программирования0;

(2; 3) Практикум по решению линейных задач математического программирования1 + 3 – 5 = –1Практикум по решению линейных задач математического программирования0;

(2; 4) Практикум по решению линейных задач математического программирования1 + 1 – 8 = –6Практикум по решению линейных задач математического программирования0;

(2; 5) Практикум по решению линейных задач математического программирования1 – 4 – 0 = –4Практикум по решению линейных задач математического программирования0;

(3; 1) Практикум по решению линейных задач математического программирования4 + 1 – 6 = –1Практикум по решению линейных задач математического программирования0;

(3; 2) Практикум по решению линейных задач математического программирования4 + 2 – 8 = –2Практикум по решению линейных задач математического программирования0;

(3; 3) Практикум по решению линейных задач математического программирования4 + 3 – 7 = 0Практикум по решению линейных задач математического программирования0;

(3; 4) Практикум по решению линейных задач математического программирования4 + 1 – 10 = –5Практикум по решению линейных задач математического программирования0;

(4; 1) Практикум по решению линейных задач математического программирования4 + 1 – 5 = 0Практикум по решению линейных задач математического программирования0;

(4; 4) Практикум по решению линейных задач математического программирования4 + 1 – 2 = 3Практикум по решению линейных задач математического программирования0.


Т.к. среди свободных клеток есть такие, в которых второе условие оптимальности не выполняется, то план не оптимален.

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

Практикум по решению линейных задач математического программирования4 + 1 – 2 = 3.

Найдем цикл перераспределения груза для этой клетки.

Выбранной для заполнения клетке присваиваем знак «+», далее знаки чередуем. Среди вершин со знаком «–» выбираем наименьшую поставку.

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

Перераспределим поставки по циклу, тем самым перейдем к новому опорному плану.


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

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

31 52 17 20 45

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

35
5
4
3
1
0 0



17 18

40
2
3
5
8
0 –2

31 9



40
6
8
7
10
0 1





40
50
5
6
7
2
0 1


43
2 5

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

4 5 3 1 –1 Таб.2

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

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

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

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

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

Выпишем клетки, в которых условие нарушено:

(1; 2) Практикум по решению линейных задач математического программирования0 + 5 – 4 = 1Практикум по решению линейных задач математического программирования0.

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

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

Число заполненных клеток распределительной таблицы 8 равно рангу матрицы задачи r = 8, следовательно, опорный план (таб. 3) является невырожденным.


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

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

31 52 17 20 45

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

35
5
4
3
1
0 0


18 17


40
2
3
5
8
0 –1

31 9



40
6
8
7
10
0 2





40
50
5
6
7
2
0 2


25
20 5

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

3 4 3 0 –2 Таб.3

Транспортные затраты, соответствующие опорному плану:

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

Исследуем опорный план на оптимальность.

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

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

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

Второе условие оптимальности выполняется для всех свободных клеток, следовательно, план оптимален.

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

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

Задания для самостоятельной работы.

Составить план перевозок с минимальными транспортными затратами.


а)

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


б)

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


Решение оптимизационных задач с помощью Excel

При решении оптимизационных экономических задач необходимо пройти через следующие этапы:

Составить математическую модель экономической задачи;

Решить полученную экстремальную математическую задачу;

Дать экономическую интерпретацию ответу.

Рассмотрим прохождение этих этапов на примере задачи об использовании ресурсов.

Пример. Для изготовления изделий двух видов А и В на заводе используют сырье четырех типов (І, ІІ, ІІІ, IV). Для выпуска изделия А необходимо 2 единицы сырья І типа; 1 ед. сырья ІІ типа; 2 ед. сырья ІІІ типа; 1 ед. сырья IV типа. Для изготовления изделия В требуется 3 единицы сырья І типа; 1 ед. сырья ІІ типа; 1 ед. сырья ІІІ типа. Запасы сырья составляют: І типа – 21 ед., ІІ типа – 8 ед., ІІІ типа – 12 ед., IV типа – 5 ед. Выпуск одного изделия типа А приносит 3 грн. прибыли, а одного изделия типа В – 2 грн. прибыли. Составить план производства, обеспечивающий наибольшую прибыль.

Решение.

Составление математической модели.

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

Так как необходимо определить количество изделий А и В, то введем следующие обозначения:

Практикум по решению линейных задач математического программирования– количество изделий А, планируемое к выпуску;

Практикум по решению линейных задач математического программирования– количество изделий В, планируемое к выпуску;

Z (целевая функция задачи) по своему экономическому смыслу – это прибыль. (Т.к. из условия задачи мы видим, что слово «наибольшая», связанное с экстремумом, соответствует прибыли).

Получим:


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


Решение полученной экстремальной задачи:


Для решения задачи воспользуемся возможностями Microsoft Excel.

Откройте Microsoft Excel.

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

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

В ячейку А4 введите обозначение целевой функции Z=.

В ячейку В4 введите формулу вычисления целевой функции из математической модели задачи

(Практикум по решению линейных задач математического программирования), подставляя вместо Практикум по решению линейных задач математического программирования и Практикум по решению линейных задач математического программирования, соответствующие им значения из ячеек А2 и В2. (Вспомните, что введение формулы начинается со знака =)


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

В ячейки А5 и В5 введите соответственно слова: А5 – Ограничение, В5 – Правая часть ограничения.

В ячейку А6 введите формулу вычисления левой части первого ограничения Практикум по решению линейных задач математического программирования, подставляя вместо Практикум по решению линейных задач математического программирования и Практикум по решению линейных задач математического программирования, соответствующие им значения из ячеек А2 и В2.

В ячейку В6 введите свободный член первого ограничения – 21. После нажатия кнопки Enter на экране монитора должно быть следующее.

Аналогично в ячейку А7 введите формулу вычисления левой части второго ограничения Практикум по решению линейных задач математического программирования, а в В7 его свободный член – 8; в ячейку А8 введите формулу вычисления левой части третьего ограничения Практикум по решению линейных задач математического программирования, а в В8 его свободный член – 12; в ячейку А9 введите формулу вычисления левой части четвертого ограничения Практикум по решению линейных задач математического программирования, а в В9 его свободный член – 5;

После нажатия кнопки Enter на экране монитора должно быть следующее.

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

В меню Сервис выберите команду Поиск решения (именно она является инструментом для поиска решений задач оптимизации)

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

Т.к. в данной задаче функция Z исследуется на максимум, то оставляем Равной: максимальному значению.

Если решаем задачу на минимум, то нужно поставить метку • перед словами минимальному значению.

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

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

Т.е. заполненная ячейка должна принять вид:

После этого заполняют пространство ячейки Ограничения: Для чего нужно щелкнуть по кнопке Добавить, в результате чего на экране появится новое окно:

В Ссылка на ячейку: введите номер ячейки, содержащей левую часть ограничения (в данном случае для первого ограничения – это ячейка А6).

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

В Ограничение: введите номер ячейки, содержащей свободный член ограничения (в данном случае для первого ограничения – это ячейка В6).

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

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

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

Поэтому после введения последнего ограничения вновь нажмите кнопку Добавить и в Ссылка на ячейку: введите номер ячейки, содержащей числовое значение Практикум по решению линейных задач математического программирования; выберите знак >=; а в Ограничение: введите 0.

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

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

Появилось? Если ДА, то нажимайте Выполнить.

И согласитесь на то, чтобы Сохранить найденное решение. Т.е. в появившемся окне нажмите ОК.

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

Практикум по решению линейных задач математического программирования = 4; Практикум по решению линейных задач математического программирования = 4; Z = 20 – Это и есть найденное оптимальное решение задачи (Практикум по решению линейных задач математического программирования) и соответствующее

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

Математически задача решена. Осталось дать экономическую

интерпретацию полученному.

Дадим экономическую интерпретацию ответу.

Для достижения наибольшей прибыли 20 грн. необходимо производить 4 изделия А и 4 изделия В.

Литература


Вітлінський В.В., Наконечний С.І., Терещенко Т.О. Математичне програмування. – К.: КНЕУ, 2001.

Исследование операций в экономике/ Под ред. проф. Н.Ш. Кремера. – М.: Банки и биржи, ЮНИТИ, 2000.

Конюховский П.В. Математические методы исследования операций в экономике: учебное пособие. – СПб. – Москва – Харьков – Минск, 2005.

Кулян В.Р. и др. Математическое программирование. – К.: МАУП, 2005.

Таха, Хемди. Введение в исследование операций. – М.: Издательский дом «Вильямс», 2001.

Похожие работы:

  1. Решение задачи линейного программирования ...
  2. • Решения задач линейного программирования ...
  3. • Решение задач линейного программирования
  4. • Задачи математического программирования
  5. • Решение транспортной задачи линейного ...
  6. • Решение задачи линейного программирования симплекс-методом
  7. • Решение задач линейного программирования симплекс ...
  8. • Использование линейного программирования для решения ...
  9. • Линейное программирование как метод оптимизации
  10. • Применение линейного программирования для решения ...
  11. • Задача линейного программирования
  12. • Линейное программирование
  13. • Линейное программирование: решение задач графическим способом
  14. • Решение задач линейного программирования
  15. • Решение задач линейного программирования симплекс ...
  16. • Формирование инвестиционного портфеля
  17. • Решения задачи планирования производства симплекс ...
  18. • Решение оптимизационной задачи линейного программирования
  19. • Линейное программирование: постановка задач и графическое ...
Рефетека ру refoteka@gmail.com