- •230105 «Программное обеспечение вычислительной техники и
- •Зам. Директора по ур
- •Содержание
- •Введение
- •1 Общие положения
- •2. Тематика заданий на курсовую работу
- •3. Выполнение курсовой работы
- •4 Содержание разделов курсовой работы
- •5 Общие требования к оформлению пояснительной записки
- •6 Список рекомендуемой литературы, при выполнении задания курсовой работы
- •Приложение а Методика решения злп симплекс-методом
- •Проверяем выполнение критерия оптимальности при решении задачи на максимум. Наличие в последней стороне отрицательных коэффициентов говорит о том, что решение не оптимально.
- •Приложение б Методика решения транспортной задачи методом потенциалов
- •Алгоритм метода потенциалов.
- •Приложение в Методика решения задачи методом искусственного базиса
- •Первая итерация
- •Вторая итерация
- •Приложение г Методика нахождения максимального потока в графе по алгоритму Форда-Фалкерсона
- •Заключительный шаг
- •Приложение д Методика решения задачи о коммивояжере
- •Приложение а
- •Краткое описание разделов примера курсовой работы
- •Результаты тестирования программы
-
Проверяем выполнение критерия оптимальности при решении задачи на максимум. Наличие в последней стороне отрицательных коэффициентов говорит о том, что решение не оптимально.
-
Если оба критерия не выполняются переходим к следующей симплекс-таблице
А. Выбираем разрешающий столбец, соответствующий наименьшему отрицательному элементу в z- строке - столбец k.
Б. Составляем оценочное отношение каждой строки по следующим правилам:
, если bi и aik имеют разные знаки;
, если bi=0 и aik<0;
, если aik=0;
0 , если bi=0 и aik>0;
(bi=0/aik<0) , если bi и aik имеют одинаковые знаки.
Если конечного минимума нет, то задача не имеет конечного оптимума zmax=
В. Если минимальное конечное значение существует, то выбираем разрешающую строку, соответствующую наименьшему положительному значению оценочных отношений - строку r.
Г. Переходим к следующей таблице по правилам:
В левом столбце записываем новый базис. Вместо базисной переменной xn+r записываем соответствующую свободную переменную xn
Д. Новую строку с номером r получаем из старой делением всех элементов на разрешающий элемент ark;
Е. В разрешающем столбце соответств. основным временно проставляем 0 и 1. 1-против своей переменной , 0 - против чужой
Ж. Все остальные элементы a'ij, b'i вычисляем по правилам прямоугольника. a'ij=aij-(aik*arj)/ark
b'i=bi-(aik*br)/ark
соответствующее число соответствующее число
Х
в разрешающей строке в разрешающем столбце
новые = старые -
элементы элементы разрешающее число
З. Далее переходим к пункту 3.
Через конечное число шагов, как правило, получаем оптимальный план ЗЛП или его отсутствие
Замечания.
-
Если в разрешающей строке (столбце) имеется нуль, то в соответствующем ему столбце (строке) элементы остаются без изменения при симплекс-преобразованиях.
-
преобразования - вычисления удобно начинать с целевой строки; если при этом окажется, что выполняется критерий оптимальности, то можно ограничиться вычислением элементов последнего столбца.
при переходе от одной матрицы к другой свободные члены уравнений остаются неотрицательными; появление отрицательного члена сигнализирует о допущенной ошибке в предыдущих вычислениях.
Приложение б Методика решения транспортной задачи методом потенциалов
Проверить тип модели транспортной задачи и в случае открытой модели свести ее к закрытой, когда Σаi =Σbj
Случай открытой модели Σаi Σbj легко сводится к закрытой модели путем введения фиктивного потребителя Bn+1 c потребностью bn+1=Σai-Σbj, либо - фиктивного поставщика Аm+1 c запасом am+1=Σbj-Σai ; при этом тарифы фиктивных участников принимаются равными 0.
Решение ТЗ разбивается на 2 этапа:
-
Определение начального допустимого базисного решения(1 опорного плана – первоначальное распределение поставок
-
Построение последовательных итераций (шагов), улучшающих опорные планы(каждый новый план не должен увеличивать суммарные затраты) до тех пор, пока не будет найдено оптимальное распределение поставок
Способы составления 1-таблицы (опорного плана).
План составляется последовательным заполнением по одной клетке в таблице перевозок так, что каждый раз либо полностью удовлетворяется потребность одного из потребителей, либо полностью вывозится груз от некоторого поставщика
ПН ПО |
B1 |
В2 |
В3 |
В4 |
Запасы ai |
A1 |
1 x11 |
2 x12 |
5 x13 |
3 x14 |
60 |
A2 |
1 x21 |
6 x22 |
5 x23 |
2 x24 |
120 |
A3 |
6 x31 |
3 x32 |
7 x33 |
4 x34 |
100 |
Заявки bj |
20 |
110 |
40 |
110 |
|
-
Способ северо-западного угла (диагональный). Сущность способа заключается в том, что на каждом шаге заполняется левая верхняя клетка (северо-западная) оставшейся части таблицы, причем максимально возможным числом: либо полностью вывозиться груз из Аi, либо полностью удовлетворяется потребность Bj. Процедура продолжается до тех пор, пока на каком-то шаге не исчерпаются запасы ai и не удовлетворяются потребности bj . В заключение проверяют, что найденные компоненты плана Xij удовлетворяют горизонтальным и вертикальным уравнениям и что выполняется условие невырожденности плана.
ПН ПО |
B1 |
В2 |
В3 |
В4 |
Запасы ai |
A1 |
1 20 |
2 40 |
5
|
3
|
60 |
A2 |
1
|
6 70 |
5 40 |
2 10 |
120 |
A3 |
6
|
3
|
7
|
4 100 |
100 |
Заявки bj |
20 |
110 |
40 |
110 |
|
Начинаем заполнение ТТ с левого верхнего («северо-западного») угла. Поставщик B1 подал заявку на 20 ед.. Удовлетворим ее из запасов A1(60-20). У него остается – 40. Отдадим их В2. Но он заказал 110. Отдадим 110-40=70 из запасов A2 и т.д. Сумма перевозок по строке должна быть = запасу соответствующего пункта отправления, а сумма перевозок по столбцу = заявке соответствующего ПН. Является ли данный план опорным, т.е. число свободных клеток д.б.=(m-1)(n-1) – 2x3=6.
-
Способ наименьшего тарифа. Сущность способа в том, что на каждом шаге заполняется та клетка оставшейся части таблицы, которая имеет наименьший тариф; в случае наличия нескольких таких равных тарифов заполняется та, по вертикали или по горизонтали которой встречаются большие тарифы, а в принципе заполняется любая из них. В остальном действуют аналогично предыдущему способу.
xij=min(ai, bj). Если ai<bj, то запасы поставщикаAi исчерпаны, а потребность Bj стала b’j= bj- ai, поэтому не принимая более во внимание i строку, снова ищем клетку с наименьшей стоимостью перевозок и заполняем ее с учетом изменившихся потребностей. Для случая ai>bjиз рассмотрения исключаем j столбец, а запасы Ai - a’I= ai- bj. Продолжаем этот процесс до тех пор, пока все запасы не будут исчерпаны, а все потребности - удовлетворены.
ПН ПО |
B1 |
В2 |
В3 |
В4 |
Запасы ai |
A1 |
1
|
2
|
5
|
3
|
60 |
A2 |
1
|
6
|
5
|
2
|
120 |
A3 |
6
|
3
|
7
|
4
|
100 |
Заявки bj |
20 |
110 |
40 |
110 |
|
Метод потенциалов решения транспортной задачи.
Определение: потенциалами решения называются числа ujai, vjbj, удовлетворяющие условию vj+ui=Cij (*) для всех заполненных клеток (i,j).
Соотношения (*) определяют систему из m+n-1 линейных уравнений с m+n неизвестными, имеющую бесчисленное множество решений; для ее определенности одному неизвестному придают любое число (обычно u1=0), тогда все остальные неизвестные определяются однозначно.
Критерий оптимальности. Если известны потенциалы решения X0 транспортной задачи и для всех незаполненных клеток выполняются условия vj + ui Cij, то X0 является оптимальным планом транспортной задачи.
Если план не оптимален, то необходимо перейти к следующему плану (таблице) так, чтобы транспортные расходы не увеличились.
Определение: циклом пересчета таблицы называется последовательность клеток, удовлетворяющая условиям:
-
одна клетка пустая, все остальные занятые;
-
любые две соседние клетки находятся в одной строке или в одном столбце;
-
никакие 3 соседние клетки не могут быть в одной строке или в одном столбце .
Пустой клетке присваивают знак « + », остальным - поочередно знаки « - » и « + ».
Для перераспределения плана перевозок с помощью цикла перерасчета сначала находят незаполненную клетку (r, s), в которой vj + uiCrs, и строят соответствующий цикл; затем в минусовых клетках находят число =min{Xij}. Далее составляют новую таблицу по следующему правилу:
-
в плюсовые клетки добавляем ;
-
из минусовых клеток отнимаем ;
-
все остальные клетки вне цикла остаются без изменения.
Получим новую таблицу, дающее новое решение X, такое, что f(X1) f(X0); f(X1)=f(X0) - *max Crs; оно снова проверяется на оптимальность через конечное число шагов обязательно найдем оптимальный план транспортной задачи, ибо он всегда существует.
Теорема
Для каждой свободной клетки существует цикл, и притом единственный, одна вершина которого (первая) лежит в данной свободной клетке, а остальные в базисных клетках.
Правило 1.
Для свободной клетки следует построить цикл пересчета. В вершинах этого цикла расставить последовательно чередующиеся знаки, начиная со знака« + » в свободной клетке.
Правило 2
Коэффициентам затрат в таблице поставок в каждой строке и столбце нужно прибавить такие числа (потенциалы), чтобы коэффициенты затрат в заполненных клетках стали =0, полученные при этом коэффициенты затрат свободных клеток = оценкам этих клеток.