Сетевое планирование и управление. Построение сетевых моделей
Главные элементы сетевой модели. Задача линейного программирования. Решение симплекс-методом. Составление отчетов по результатам, по пределам, по устойчивости. Составление первоначального плана решения транспортной задачи по методу северо-западного угла.
Рубрика | Экономико-математическое моделирование |
Вид | контрольная работа |
Язык | русский |
Дата добавления | 18.05.2015 |
Размер файла | 747,3 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Федеральное Государственное образовательное учреждение высшего профессионального образования
Пермская государственная сельскохозяйственная академия имени академика Д.Н.Прянишникова
Кафедра Информационных систем
Контрольная работа
по дисциплине:
«Экономико-математические методы и модели»
на тему:
«Сетевое планирование и управление. Построение сетевых моделей»
Вариант 21 (m=4, n=3)
Выполнил:
студент 2 курса заочного отделения
по специальности: 060800 «Экономика и
управление на предприятиях АПК»
шифр ЭКР-2010-404 Стариков
Проверил: О.Ю. Вшивков
Пермь-2015
Содержание
1. Сетевое планирование и управление. Построение сетевых моделей
2. Задача линейного программирования
3. Транспортная задача
Список использованной литературы
1. Сетевое планирование и управление. Построение сетевых моделей
Понятие графа (graph) обычно связывают с именем великого математика Леонарда Эйлера, который в первой половине XVIII века решил ряд задач, связанных с использованием этого понятия, и в частности знаменитую задачу о «кенигсберских мостах» (1736 г.). Суть этой задачи состоит в том, чтобы пройти лишь один раз по каждому из семи мостов, соединяющих берега и два острова реки Прегель, на которых расположен г. Кенигсберг (ныне г. Калининград), побывав, таким образом, во всех районах города и вернувшись в исходную точку.
Исследуя данную частную задачу, Эйлер получил ряд интересных математических результатов более общего характера, заложив, тем самым, основы теории графов. Как самостоятельная научная математическая дисциплина теория графов сформировалась спустя два столетия, в 1930-х гг. (термин «граф» впервые был введен Д. Кенигом в 1936 г.), и с того времени развивается и находит широкое применение во многих областях науки и техники. В частности, теория графов используется при решении ряда экономико-математических задач, связанных с планированием и управлением разработкой сложных проектов, задачей о назначениях, задачей календарного планирования и т.д.
Геометрически граф представляет собой множество точек (вершин графа), соединенных отрезками линий (ребрами графа).
Математически структура графа может быть представлена с помощью двух типов матриц - матрицы смежности и матрицы инцидентности. Матрица смежности используется для описания структуры как неориентированного, так и ориентированного графа; матрица инцидентности - для описания структуры, главным образом, ориентированного графа.
Пример связного графа представлен на рисунке 1.
Рисунок 1 - Пример связного графа
Граф называется связным, если любые две его вершины можно соединить цепью.
Граф называется конечным, если множество ребер его конечно. Примером бесконечного графа может служить прямоугольная сетка, заданная на плоскости.
Граф, все вершины которого связаны дугами, называется ориентированным (орграфом). Пример ориентированного графа показан на рисунке 2.
Рисунок 2 - Пример ориентированного графа
В ориентированных графах можно рассматривать как неориентированные цепи и циклы, не принимая во внимание ориентацию ребер, так и ориентированные, в которых все ребра проходятся в направлении их ориентации. Ориентированную цепь называют в этом случае путем, а ориентированный цикл - контуром. Если контур образован одной вершиной и одной дугой, он называется петлей.
Планирование сложных процессов потребовало создания специальных методов сетевого планирования и управления (СПУ). В основе методов СПУ лежит применение сетевых графиков. Первые системы СПУ, использующие сетевые графики, появились в конце 1950-х годов в США и ныне известны по аббревиатурам CPM (Critical Path Method - метод критического пути) и PERT (Program Evaluation and Review Technique - метод анализа и оценки программ).
Сетевая модель - это план выполнения некоторого комплекса работ, заданный в специфической форме сети (дугам поставлены в соответствие интервалы времени), графическое изображение которой называют сетевым графиком.
Главными элементами сетевой модели являются события и работы.
Термин работа используется в СПУ в широком смысле. Во-первых, это действительная работа - протяженный во времени процесс, требующий затрат ресурсов (например, сборка изделия, испытание прибора и т.п.). Каждая действительная работа должна быть конкретной, четко описанной и иметь ответственного исполнителя.
Во-вторых, это ожидание - протяженный во времени процесс, не требующий затрат труда (например, процесс сушки после покраски, отвердения бетона и т.п.).
В-третьих, это зависимость, или фиктивная работа, - логическая связь между двумя или несколькими работами (событиями), не требующими затрат труда, материальных ресурсов или времени. Она указывает, что возможность выполнения одной работы непосредственно зависит от результатов другой.
Продолжительность фиктивной работы принимается равной нулю.
Событие - это момент завершения какого-либо процесса, отражающий отдельный этап выполнения проекта. Событие может быть частным результатом отдельной работы или суммарным результатом выполнения нескольких работ. Событие может свершиться только тогда, когда закончатся все работы, ему предшествующие. Последующие работы могут начаться только тогда, когда событие свершится.
Таким образом, события имеют двойственный характер: для всех непосредственно ему предшествующих работ оно является конечным, а для всех непосредственно следующих за ним - начальным. При этом предполагается, что событие не имеет продолжительности и свершается как бы мгновенно. Поэтому каждое событие, включаемое в сетевую модель, должно быть полно, точно и всесторонне определено, его формулировка должна включать в себя результат всех непосредственно предшествующих ему работ.
Среди событий сетевой модели выделяют исходное и завершающее события. Исходное событие не имеет предшествующих работ и событий, а завершающее - последующих работ и событий.
Сетевая модель графически представляется в виде ориентированного графа, вершины которого являются событиями, а дуги - работами. Пример элементарного фрагмента сетевого графика приведен на рисунке 3.
Рисунок 3 - Элементарный фрагмент сетевого графика
Необходимо отметить, что принцип построения сетевого графика может отличаться от описанного выше и основанного на сети вида «события-работы».
Сетевой график может быть представлен сетью вида «работы-связи», вершины которой обозначают работы, а дуги - связи между работами, определяющими порядок их выполнения.
Следует отметить, что сетевой график «работы-связи» в отличие от графика «события-работы» обладает известными преимуществами: не содержит фиктивных работ, имеет более простую технику построения и перестройки, использует хорошо знакомое исполнителям понятие «работа», не включая менее очевидного понятия «событие». Вместе с тем сети без использования событий оказываются более громоздкими, так как событий обычно значительно меньше, чем работ (показатель сложности сети, равный отношению числа работ к числу событий, как правило, существенно больше. Поэтому эти сети менее эффективны с точки зрения управления комплексом работ и не получили достаточно широкого распространения.
Сетевые графики составляются на начальном этапе планирования путем разбиения планируемого процесса на отдельные работы, составления перечня работ и событий, установления их логической связи и последовательности выполнения, закрепления ответственных исполнителей за отдельными работами, оценки (совместно с ответственными исполнителями) длительности каждой работы. После построения первоначального сетевого графика выполняется его упорядочивание, рассчитываются параметры событий и работ, определяются резервы времени и критический путь, проводится анализ и оптимизация. После этого сетевой график может быть построен заново с использованием рассчитанных параметров для событий и работ.
При построении сетевых графиков необходимо соблюдать следующие правила:
1) В сетевой модели не должно быть «тупиковых» событий, т.е. событий, из которых не выходит ни одна работа, за исключением завершающего события.
2) В сетевом графике не должно быть «хвостовых» событий, т.е. событий, которым не предшествует хотя бы одна работа, за исключением исходного.
3) В сети не должно быть контуров и петель, т.е. путей, соединяющих некоторые события с ними же самими.
4) Любые два события должны быть непосредственно связаны не более чем одной работой (стрелкой). Чтобы выполнить это требование, в некоторых случаях приходится вводить фиктивное событие и фиктивную работу, изображаемую на графике пунктирной линией.
5) В сети рекомендуется иметь одно исходное и одно завершающее событие.
2. Задача линейного программирования
Предприятие планирует выпуск двух видов продукции I и II, на производство которых расходуется три вида сырья А, В и С. Потребность aij i-го вида сырья на каждую единицу j-го вида продукции, запас bi соответствующего вида сырья и прибыль cj от реализации единицы j-го вида продукции заданы таблицей:
Таблица 1
Виды сырья |
Виды продукции |
Запасы сырья |
||
I |
II |
|||
A |
2 |
2 |
20 |
|
B |
1 |
1 |
10 |
|
C |
2 |
6 |
36 |
|
прибыль |
7 |
4 |
||
план (ед.) |
x1 |
x2 |
1. Для производства двух видов продукции I и II с планом x1 и x2 единиц составить математическую модель, т.е. целевую функцию прибыли F и соответствующую систему ограничений по запасам сырья, предполагая, что требуется изготовить в сумме не менее n единиц обоих видов продукции.
2. Найти оптимальный план X*=(x1, x2) производства продукции, обеспечивающий максимальную прибыль Fmax. Определить остатки каждого вида сырья. Задачу решить симплекс-методом.
3. Построить по полученной системе ограничений многоугольник допустимых решений и найти оптимальный план производства геометрическим методом. Определить максимальную прибыль Fmax.
4. Составить математическую модель двойственной задачи (систему ограничений по единичной прибыли и целевую функцию общих издержек на сырье Z); найти оптимальный набор цен на сырьё Y*=(y1, y2, y3), обеспечивающий минимум общих затрат на сырье Zmin.
5. Провести анализ первоначальных и дополнительных переменных исходной и двойственной задач, сделать выводы.
6. Решить задачу оптимизации в MS Excel в режиме «поиск решения». Провести исследование полученного решения, используя отчеты по результатам, по устойчивости, по пределам; сделать выводы. Ответы, полученные в результате решений «вручную» и с помощью Excel, должны совпадать.
Решение:
Предположим, что будет использовано х1 сырья А для изготовления продукции I, х2 сырья для изделия II. Тогда общая прибыль составит 7х1 + 4х2.
Так как общее количество сырья А не может превышать 27 единиц, то должно выполняться следующее неравенство:
2х1+2х2 ? 20.
Аналогичные рассуждения относительно возможно использования остального количества сырья приведут к следующим неравенствам:
х1 + х2 ? 10;
2х1 + 6х2 ? 36.
При этом, так как количество изготовляемых изделий не может быть отрицательным, то:
х1 ? 0, х2 ? 0 (1)
Пусть F - прибыль предприятия, так как по условию необходимо составить план производства двух видов изделий, обеспечивающий максимальную прибыль, следовательно, функция F, при условии, что изготовлено х1 единиц изделий I и х2 единиц изделий II будет максимизироваться:
F = 7х1 + 4х2 > max
Таким образом, мы приходим к следующей математической задаче:
Дана система:
(2)
трех линейных неравенств с двумя неизвестными хi (i=1,2). И линейная функция относительно этих же переменных:
F = 7х1 + 4х2 (3)
требуется среди всех неотрицательных решений системы неравенств (2), найти такое, при котором функция (3) примет максимальное значение.
Найдем решение сформулированной задачи, используя ее геометрическую интерпретацию. Сначала определим многоугольник решений. Для этого в неравенствах системы ограничений и условиях не отрицательности переменных знаки неравенств заменим на знаки точных равенств и найдем соответствующие прямые.
Прямые S1 - S3, изображены на рисунке 4.
Каждая из построенных прямых делит плоскость на две полуплоскости. Координаты точек одной полуплоскости удовлетворяют исходному неравенству, а другой - нет. Определим искомую полуплоскость через точку О (0;0).
Пресечение полученных плоскостей определяет многоугольник решений данной задачи.
Рисунок 4 - Многоугольник решений
Как видно из рисунка 4, многоугольником решений является четырехугольник ОАВС.
Таким образом, среди точек четырехугольника ОАВС нам нужно найти такие, в которых функция F = 7х1 + 4х2 принимает максимальное значение. Для нахождения этих точек построим нулевую линию уровня (F0) 7х1 + 4х2 = 0 и вектор N = (7;4).
Передвигая данную прямую параллельно самой себе в направлении вектора N, видим, что ее последней точкой с многоугольником решений задачи является точка C. Следовательно, в этой точке функция F принимает максимальное значение. Координаты точки С:
х1 = 10 и х2 = 0.
Таким образом, максимальное значение функции Fmax = 7*10+4*0 = 70 + 0 = 70.
Решение симплекс-методом
Математическая модель задачи:
х1, х2 ? 0
F = 7х1 + 4х2
Запишем эту задачу в форме основной задачи ЛП:
Для этого перейдем от ограничений неравенств - к ограничениям равенствам.
Введем 3 дополнительные переменные, в результате чего ограничения запишутся в виде систем ограничений:
Преобразованную систему ограничений запишем в векторной форме:
Поскольку среди векторов Р1-Р5 имеются 3 единичных вектора, для данной задачи можно непосредственно записать опорный план.
Таковым является план Х = (0;0;0;20;10;36), определяемый системой трехмерных единичных векторов Р3, Р4, Р5, которые образуют базис трехмерного векторного пространства.
Составим симплексную таблицу для I итерации (таб. 1), подсчитав значения F0, zi - ci и проверяем исходный план на оптимальность.
F0 = (c, P0); z1 = (c, P1) = 0; z2 = (c, P2) = 0; z3 = (c, P3) = 0;
z4 = (c, P4) = 0; z5 = (c, P5) = 0;
z1 - c1 = 0 -7 = -7; z2 - c2 = 0 - 4 = -4.
Для векторов базиса zi - ci = 0.
Таблица 1
i |
Базис |
Цб |
Р0 |
7 |
4 |
0 |
0 |
0 |
|
Р1 |
Р2 |
Р3 |
Р4 |
Р5 |
|||||
1 |
Р3 |
0 |
20 |
2 |
2 |
1 |
0 |
0 |
|
2 |
Р4 |
0 |
10 |
1 |
1 |
0 |
1 |
0 |
|
3 |
Р5 |
0 |
36 |
2 |
6 |
0 |
0 |
1 |
|
4 |
-7 |
-4 |
0 |
0 |
0 |
Таким образом, по 4 строке таблицы 1 видно, что план не оптимален, т.к. значения zi - ci - отрицательны.
Далее определяем вектор, подлежащий исключению из базиса. Для этого находим Q0min (bi/ai1) для ai1>0 и Q0min (bi/ai2) для ai2>0.
Таким образом, Q0min (bi/ai1) = min (20/2;10/1;36/2) = 20/2, а Q0min (bi/ai2)= min (20/2;10/1;36/6) = 36/6.
Min (20/2;36/6) = 36/6.
Таким образом, мы нашли разрешающий элемент, находящийся на пересечении 2-ой строки и столбца вектора Р2.
Следовательно, вектор Р4 подлежит исключению из базиса.
Столбец вектора Р2 и вторая строка являются направляющими.
Далее, составляем таблицу для итерации II (таб. 2).
Сначала заполняем строку вектора вновь введенного в базис. Элементы этой строки таб. 3 получаются из соответствующих элементов таб. 2 делением на разрешающий элемент.
Затем, заполняем элементы столбцов для векторов, входящих в новый базис. В этих столбцах на пересечении строк и столбцов одноименных векторов проставляем единицы, а все остальные элементы полагаем равными нулю.
Для определения остальных элементов таб. 2 применяем правило прямоугольника.
Данный цикл продолжается до тех пор, пока все значения zi - ci - не станут положительными.
Таким образом, в таб. 2 мы запишем все итерации вычислительного процесса.
Таблица 2
i |
Базис |
Цб |
Р0 |
7 |
4 |
0 |
0 |
0 |
|
Р1 |
Р2 |
Р3 |
Р4 |
Р5 |
|||||
1 |
Р3 |
0 |
8 |
1,3 |
0 |
1 |
0 |
-0,3 |
|
2 |
Р4 |
0 |
4 |
0,6 |
0 |
0 |
1 |
-0,16 |
|
3 |
Р2 |
4 |
6 |
0,3 |
1 |
0 |
0 |
0,16 |
|
4 |
24 |
-5,6 |
0 |
0 |
0 |
0,6 |
|||
1 |
Р1 |
7 |
6,15 |
1 |
0 |
0,7 |
0 |
-0,2 |
|
2 |
Р4 |
0 |
0,3 |
0 |
0 |
-0,4 |
1 |
-0,02 |
|
3 |
Р2 |
4 |
4,15 |
0 |
1 |
-0,2 |
0 |
0,2 |
|
4 |
58,4 |
0 |
0 |
4,3 |
0 |
-0,7 |
|||
1 |
Р1 |
7 |
10 |
1 |
1 |
0,5 |
0 |
0 |
|
2 |
Р4 |
0 |
0,715 |
0 |
0,1 |
-0,42 |
1 |
0 |
|
3 |
Р5 |
0 |
20,75 |
0 |
5 |
-1 |
0 |
1 |
|
4 |
70 |
0 |
3,5 |
3,6 |
0 |
0 |
Итак, среди значений zi - ci нет отрицательных, следовательно, опорный план оптимален и Fmax = 70.
Двойственная задача
Прямая задача имеет вид:
х1, х2 ? 0
F = 7х1 + 4х2
Хопт. = (7; 4).
Max F = 57.
Составим двойственную модель и с помощью теорем двойственности найдем оптимальное решение двойственной модели:
Двойственная модель:
Z = 20y1 + 10y2 + 36y3> min
Так как мы уже нашли решение исходной задачи (таб. 2), следовательно, мы нашли и решение двойственной задачи:
y1 = 3,6; y2 = 0; y3 = 0. (итерация III в симплекс-таблице 2).
Таким образом оптимальное решение двойственной задачи = yопт(3,6;0;0).
Подставим компоненты оптимального решения двойственной задачи в функцию двойственной модели:
Z = 20*3,6+10*0+36*0 = 70+0+0 = 70
Итак, Z = F = 70.
Отчет по результатам:
Microsoft Excel 12.0 Отчет по результатам |
|||||||
Рабочий лист: [Стариков ЭММ - решение.xlsx]Задача линейного программирован |
|||||||
Отчет создан: 01.10.2012 17:06:32 |
|||||||
Целевая ячейка (Максимум) |
|||||||
Ячейка |
Имя |
Исходное значение |
Результат |
||||
$D$10 |
оптимальные значения целевая функция |
70 |
70 |
||||
Изменяемые ячейки |
|||||||
Ячейка |
Имя |
Исходное значение |
Результат |
||||
$B$10 |
оптимальные значения х1* |
10 |
10 |
||||
$C$10 |
оптимальные значения х2* |
0 |
0 |
||||
Ограничения |
|||||||
Ячейка |
Имя |
Значение |
Формула |
Статус |
Разница |
||
$D$5 |
коэф в 1 ограничении левая часть |
20 |
$D$5<=$F$5 |
связанное |
0 |
||
$D$6 |
коэф во 2 ограничении левая часть |
10 |
$D$6<=$F$6 |
связанное |
0 |
||
$D$7 |
коэф в 3 ограничении левая часть |
20 |
$D$7<=$F$7 |
не связан. |
16 |
||
$B$10 |
оптимальные значения х1* |
10 |
$B$10>=0 |
не связан. |
10 |
||
$C$10 |
оптимальные значения х2* |
0 |
$C$10>=0 |
связанное |
0 |
Отчет по пределам:
Microsoft Excel 12.0 Отчет по пределам |
||||||||||
Рабочий лист: [Стариков ЭММ - решение.xlsx]Отчет по пределам 1 |
||||||||||
Отчет создан: 01.10.2012 17:08:24 |
||||||||||
Целевое |
||||||||||
Ячейка |
Имя |
Значение |
||||||||
$D$10 |
оптимальные значения целевая функция |
70 |
||||||||
Изменяемое |
Нижний |
Целевой |
Верхний |
Целевой |
||||||
Ячейка |
Имя |
Значение |
предел |
результат |
предел |
результат |
||||
$B$10 |
оптимальные значения х1* |
10 |
0 |
0 |
10 |
70 |
||||
$C$10 |
оптимальные значения х2* |
0 |
0 |
70 |
0 |
70 |
Отчет по устойчивости:
Microsoft Excel 12.0 Отчет по устойчивости |
|||||||
Рабочий лист: [Стариков ЭММ - решение.xlsx]Задача линейного программирован |
|||||||
Отчет создан: 01.10.2012 17:07:48 |
|||||||
Изменяемые ячейки |
|||||||
Результ. |
Нормир. |
||||||
Ячейка |
Имя |
значение |
градиент |
||||
$B$10 |
оптимальные значения х1* |
10 |
0 |
||||
$C$10 |
оптимальные значения х2* |
0 |
-3 |
||||
Ограничения |
|||||||
Результ. |
Лагранжа |
||||||
Ячейка |
Имя |
значение |
Множитель |
||||
$D$5 |
коэф в 1 ограничении левая часть |
20 |
3,5 |
||||
$D$6 |
коэф во 2 ограничении левая часть |
10 |
0 |
||||
$D$7 |
коэф в 3 ограничении левая часть |
20 |
0 |
3. Транспортная задача
На трех складах А1, А2 и А3 хранится а1=100, а2=200, а3=60+10n единиц одного и того же груза, соответственно. Этот груз требуется доставить трем потребителям В1, В2 и В3, заказы которых b1=190, b2=120, b3=10m единиц груза, соответственно. Стоимости перевозок cij единицы груза с i-го склада j-му потребителю указаны в соответствующих клетках транспортной таблицы:
Таблица 3
Потребности Запасы |
В1 |
В2 |
В3 |
||
b1=190 |
b2=120 |
b3=500 |
|||
А1 |
а1 = 100 |
4 |
2 |
5 |
|
А2 |
а2 = 200 |
2 |
5 |
3 |
|
А3 |
а3 = 260 |
1 |
6 |
6 |
1. Сравнивая суммарный запас и суммарную потребность в грузе, установить, является ли модель транспортной задачи открытой или закрытой. Если модель открытая, то ее необходимо закрыть, добавив фиктивный склад А4 с запасом а4=b-а в случае а<b или фиктивного потребителя В4 с потребностью b4=a-b в случае а>b и положив соответствующие им тарифы перевозок нулевыми.
2. Составить первоначальный план перевозок методом северо-западного угла и методом наименьшей стоимости.
3. Методом потенциалов проверить первоначальный план перевозок на оптимальность в смысле суммарной стоимости перевозок, и если это не так, то составить оптимальный план
,
обеспечивающий минимальную стоимость перевозок . Найти эту стоимость.
4. Решить задачу в MS Excel в режиме «поиск решения». Ответы, полученные в результате решений «вручную» и с помощью Excel, должны совпадать.
Решение:
Потребность = 190+120+500 = 810
Возможности = 100+200+260 = 560
Таким образом, данная транспортная задача (ТЗ) - открытая.
Следовательно для решения такой задачи необходимо ввести фиктивного поставщика - А4, имеющего запасы груза равные 250 единиц, тем самым мы сбалансировали спрос и предложение (таблица 4).
Таблица 4
Поставщик |
Потребитель |
Запасы груза |
|||
В1 |
В2 |
В3 |
|||
А1 |
4 |
2 |
5 |
100 |
|
А2 |
2 |
5 |
3 |
200 |
|
А3 |
1 |
6 |
6 |
260 |
|
А4 |
0 |
0 |
0 |
250 |
|
Потребность |
190 |
120 |
500 |
810 |
Составим первоначальный план по методу северо-западного угла (таблица 5).
Таблица 5
Поставщик |
Потребитель |
Запасы груза |
|||
В1 |
В2 |
В3 |
|||
А1 |
100 4 |
2 |
5 |
100 |
|
А2 |
90 2 |
110 5 |
3 |
200 |
|
А3 |
1 |
10 6 |
250 6 |
260 |
|
А4 |
0 |
0 |
250 0 |
250 |
|
Потребность |
190 |
120 |
500 |
810 |
n+m -1 =4+3-1 = 6 - соответствует числу заполненных клеток
Общие транспортные издержки равны:
Z1 = 100*4+90*2+110*5+10*6+250*+250*0 = 400+180+550+60+1500+0 = 2690
Проверим составленный план на оптимальность методом потенциалов.
Рассчитаем потенциалы, исходя из того, что потенциал строки А1 = 0 (таблица 6).
Таблица 6
Поставщик |
Потребитель |
Запасы груза |
||||
В1 |
В2 |
В3 |
||||
А1 |
100 4 |
2 |
5 |
100 |
U1=0 |
|
А2 |
90 2 |
110 5 |
3 |
200 |
U2=-2 |
|
А3 |
1 |
10 6 |
250 6 |
260 |
U3=-1 |
|
А4 |
0 |
0 |
250 0 |
250 |
U4=-7 |
|
Потребность |
190 |
120 |
500 |
810 |
||
V1=4 |
V2=7 |
V3=7 |
Далее, рассчитаем теневые цены (таблица 7 - теневые цены выделены серым цветом).
Таблица 7
Поставщик |
Потребитель |
Запасы груза |
||||
В1 |
В2 |
В3 |
||||
А1 |
100 4 - |
-5 2 + |
-2 5 |
100 |
U1=0 |
|
А2 |
90 2 + |
110 5 - |
-2 3 |
200 |
U2=-2 |
|
А3 |
-2 1 |
10 6 |
250 6 |
260 |
U3=-1 |
|
А4 |
3 0 |
0 0 |
250 0 |
250 |
U4=-7 |
|
Потребность |
190 |
120 |
500 |
810 |
||
V1=4 |
V2=7 |
V3=7 |
Наличие теневых цен означает не оптимальность имеющегося плана, следовательно, для улучшения плана намечаем маршрут с наименьшей отрицательной теневой ценой и для этого маршрута определяем цикл перераспределения. Объем перевозимого груза численно равен минимальному значению из тех объемов груза, которые указаны в клетках со знаком минус. Таким образом, min (100;110) = 100.
Итак, составляем новый план (таблица 8).
Данный цикл длится до тех пор, пока все теневые цены не станут положительными.
Таблица 8
Поставщик |
Потребитель |
Запасы груза |
||||
В1 |
В2 |
В3 |
||||
А1 |
5 4 |
100 2 |
3 5 |
100 |
U1=0 |
|
А2 |
190 2 - |
10 5 + |
-2 3 |
200 |
U2=3 |
|
А3 |
-2 1 + |
10 6 - |
250 6 |
260 |
U3=4 |
|
А4 |
3 0 |
0 0 |
250 0 |
250 |
U4=-2 |
|
Потребность |
190 |
120 |
500 |
810 |
||
V1=-1 |
V2=2 |
V3=2 |
n+m -1 =4+3-1 = 6 - соответствует числу заполненных клеток
Общие транспортные издержки равны:
Z2 = 190*2+100*2+10*5+10*6+250*6+250*0 = 380+200+50+60+1500+0 = 2190
Таблица 9
Поставщик |
Потребитель |
Запасы груза |
||||
В1 |
В2 |
В3 |
||||
А1 |
5 4 |
100 2 |
1 5 |
100 |
U1=0 |
|
А2 |
180 2 - |
20 5 |
-4 3 + |
200 |
U2=3 |
|
А3 |
10 1 + |
2 6 |
250 6 - |
260 |
U3=2 |
|
А4 |
5 0 |
2 0 |
250 0 |
250 |
U4=-4 |
|
Потребность |
190 |
120 |
500 |
810 |
||
V1=-1 |
V2=2 |
V3=4 |
n+m -1 =4+3-1 = 6 - соответствует числу заполненных клеток
Общие транспортные издержки равны:
Z3 = 180*2+10*1+100*2+20*5+250*6+250*0 = 360+10+200+10+1500+0 = 2080
Таблица 10
Поставщик |
Потребитель |
Запасы груза |
||||
В1 |
В2 |
В3 |
||||
А1 |
9 4 |
100 2 |
5 5 |
100 |
U1=0 |
|
А2 |
4 2 |
20 5 - |
180 3 + |
200 |
U2=3 |
|
А3 |
190 1 |
-2 6 |
70 6 |
260 |
U3=6 |
|
А4 |
5 0 |
-2 0 + |
250 0 - |
250 |
U4=0 |
|
Потребность |
190 |
120 |
500 |
810 |
||
V1=-5 |
V2=2 |
V3=0 |
сетевой модель линейный программирование
n+m -1 =4+3-1 = 6 - соответствует числу заполненных клеток
Общие транспортные издержки равны:
Z4 = 190*1+100*2+20*5+180*3+70*6+250*0 = 190+200+100+540+420+0 = 1450
Таблица 11
Поставщик |
Потребитель |
Запасы груза |
||||
В1 |
В2 |
В3 |
||||
А1 |
7 4 |
100 2 |
3 5 |
100 |
U1=0 |
|
А2 |
4 2 |
2 5 |
200 3 |
200 |
U2=1 |
|
А3 |
190 1 |
0 6 |
70 6 |
260 |
U3=4 |
|
А4 |
5 0 |
20 0 |
230 0 |
250 |
U4=-2 |
|
Потребность |
190 |
120 |
500 |
810 |
||
V1=-3 |
V2=2 |
V3=2 |
n+m -1 =4+3-1 = 6 - соответствует числу заполненных клеток
Общие транспортные издержки равны:
Z5 = 190*1+100*2+20*0+200*3+70*6+230*0 = 190+200+0+600+420+0 = 1410
В таблице 11 все теневые цены - положительные, следовательно, план оптимален.
Решение задачи в MS Excel.
Исходными данными для решения транспортной задачи являются:
- матрица транспортных расходов;
- предложение поставщиков;
- спрос потребителей.
Рабочий лист EXCEL с введенными исходными данными для решения транспортной задачи показан на рисунке 5.
Рисунок 5 - Рабочий лист EXCEL с введенными исходными данными для решения транспортной задачи
Рабочий лист EXCEL с размеченными блоками ячеек показан на рисунке 6.
Рисунок 6 - Рабочий лист EXCEL с размеченными блоками ячеек
Формирование элементов математической модели.
Элементами математической модели транспортной задачи являются следующие суммы:
фактически реализовано;
фактически получено.
Для нашей задачи m=4, n=3.
Рассмотрим процесс формирования этих сумм на рабочем листе EXCEL.
Вначале сформируем, в блоке «Фактически реализовано»
1. Заполняем ячейки блока «Матрица перевозок» числом 0,01.
2. Селектируем первую ячейку блока «Фактически реализовано»;
3. Наводим курсор на кнопку автосуммирование и щелкаем левой клавишей мыши;
4. Нажимаем клавишу Delete;
5. Селектируем первую строку блока «Матрица перевозок»;
6. Нажимаем клавишу Enter;
7. Копируем формулу из первой ячейки блока «Фактически реализовано» на все остальные ячейки этого блока.
Сформируем теперь - в блоке «Фактически получено».
Для этого выполните следующие действия:
1. Селектируем первую ячейку блока «Фактически получено»;
2. Наводим курсор на кнопку автосуммирование и щелкаем левой клавишей мыши;
3. Нажимаем клавишу Delete;
4. Селектируем первый столбец блока «Матрица перевозок»;
5. Нажимаем клавишу Enter;
6. Копируем формулу из первой ячейки блока «Фактически получено» на остальные ячейки этого блока.
Для формирования целевой функции введем вначале формулы, отражающие транспортные расходы по каждому потребителю, т.е. формулы в ячейки блока «Транспортные расходы по потребителям».
Для ввода этих формул выполняем следующие действия:
1. Селектируем первую ячейку блока «Транспортные расходы»;
2. Наводим курсор на кнопку автосуммирование и щелкаем левой клавишей мыши;
3. Нажимаем клавишу Delete;
4. Селектируем первый столбец блока «Матрица Транспортных расходов»;
5. Нажимаем клавишу *;
6. Селектируем первый столбец блока «Матрица перевозок»;
7. Активируем строку формул, наведя на нее курсор и щелкнув затем левой клавишей мыши;
8. Нажимаем одновременно три клавиши: «CTRL» + «SHIFT» + «ENTER»;
9. Копируем формулу в остальные ячейки блока «Транспортные расходы»;
Сформируем теперь целевую функцию транспортной задачи, в ячейку «Итого расходы». Для этого:
Селектируем ячейку «Итого расходы»;
1. Наводим курсор на кнопку автосуммирование и щелкаем левой клавишей мыши;
2. Нажимаем клавишу Delete;
3. Селектируем блок ячеек «Транспортные расходы»;
4. Нажимаем клавишу Enter;
После формирования элементов математической модели и целевой функции транспортной задачи рабочий лист EXСEL примет вид, показанный на рисунке 7.
Рисунок 7 - Формирования элементов математической модели и целевой функции транспортной задачи
Далее, приступаем к решению задачи с помощью программы «Поиск решения».
Параметры программы «Поиск решения» представлены на рисунке 8.
Рисунок 8 - Параметры программы «Поиск решения»
Результаты решения представлены на рисунке 9.
Рисунок 9 - Результаты решения транспортной задачи
Список использованной литературы
1) Агальцов В.П. Математические методы в программировании. Учебник - 2 изд. Издательство: Форум, 2010.
2) Математическое программирование. Учебник (изд:2). Балдин К.В., Брызгалов Н.А., Рукосуев А., Издательство: Дашков и К, 2012.
3) Шапкин А., Шапкин В. Задачи с решениями по высшей математике,теории вероятностей, математической статистике, математическому программированию. Учебное пособие для бакалавров. Издательство: Дашков и К, 2012.
Размещено на Allbest.ru
Подобные документы
Составление математической модели, целевой функции, построение системы ограничений и симплекс-таблиц для решения задач линейного программирования. Решение транспортной задачи: определение опорного и оптимального плана, проверка методом потенциалов.
курсовая работа [54,1 K], добавлен 05.03.2010Решение графическим методом задачи линейного программирования с двумя неизвестными. Решение транспортной задачи методом северо-западного угла и методом минимальной стоимости. Системы массового обслуживания. Стохастическая модель управления запасами.
контрольная работа [458,1 K], добавлен 16.03.2012Пример решения графическим методом задачи линейного программирования с двумя неизвестными. Решение транспортной задачи методами северо-западного угла и минимальной стоимости. Стохастическая модель управления запасами, ее значение для предприятий.
контрольная работа [606,2 K], добавлен 04.08.2013Решение задачи линейного программирования графическим и симплекс-методом. Способы решения транспортных задач: методы северо-западного угла, наименьшей стоимости и потенциалов. Динамическое программирование. Анализ структуры графа, матрицы смежности.
курсовая работа [361,8 K], добавлен 11.05.2011Цель работы: изучить и научиться применять на практике симплекс - метод для решения прямой и двойственной задачи линейного программирования. Математическая постановка задачи линейного программирования. Общий вид задачи линейного программирования.
реферат [193,4 K], добавлен 28.12.2008- Примеры использования графического и симплексного методов в решении задач линейного программирования
Экономико-математическая модель получения максимальной прибыли, её решение графическим методом. Алгоритм решения задачи линейного программирования симплекс-методом. Составление двойственной задачи и её графическое решение. Решение платёжной матрицы.
контрольная работа [367,5 K], добавлен 11.05.2014 Симплекс метод решения задач линейного программирования. Построение модели и решение задачи определения оптимального плана производства симплексным методом. Построение двойственной задачи. Решение задачи оптимизации в табличном процессоре MS Excel.
курсовая работа [458,6 K], добавлен 10.12.2013Формулировка проблемы в практической области. Построение моделей и особенности экономико-математической модели транспортной задачи. Задачи линейного программирования. Анализ постановки задач и обоснования метода решения. Реализация алгоритма программы.
курсовая работа [56,9 K], добавлен 04.05.2011Численные коэффициенты функции регрессии. Построение транспортной модели. Нахождение опорного плана методом Фогеля. Построение модели экономичных перевозок. Составление транспортной матрицы. Общая распределительная задача линейного программирования.
курсовая работа [1,3 M], добавлен 11.06.2010Понятие классической транспортной задачи, классификация задач по критерию стоимости и времени. Методы решения задач: симплекс, северо-западного угла (диагональный), наименьшего элемента, потенциалов решения, теория графов. Определение и применение графов.
курсовая работа [912,1 K], добавлен 22.06.2015