Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Ответы на вопросы по СА и ИО1.doc
Скачиваний:
14
Добавлен:
01.03.2025
Размер:
6.8 Mб
Скачать

Метод Фогеля

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

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

22. Обоснование метода потенциалов. Переход от одного плана перевозок к другому

Н овый план можно получить из исходного заменой одной базисной переменной. Клетки с базисными переменными - базисные, остальные – небазисные/свободные. Для перехода к новому плану используется замкнутая цепь, которая строится в матрице перевозок по следующим правилам. Построение начинается со свободной клетки, которую соединяют с базисной в строке (столбце). Последнюю соединяют с базисной в столбце (строке). Далее, чередуя движение по строкам и столбцам, продолжаем соединение занятых клеток так, чтобы вернуться в начальную. При этом не требуется, чтобы цепь включала все базисные клетки. Угловые клетки цепи - вершины цепи. Начальная вершина должна быть в свободной клетке, остальные – в базисных. Такая цепь - цикл пересчета; геометрическое представление разложения небазисного вектора условий при переменной в свободной клетке по векторам текущего базиса. Если базисная клетка не попала в цикл пересчета, то соответствующий базисный вектор имеет в этом разложении нулевой коэффициент. Так как любой небазисный вектор выражается через базис единственным образом, то для любой небазисной (свободной) клетки можно построить один и только один цикл пересчета. Примеры на рис. Кружком выделена начальная (небазисная) клетка цикла. Нумеровать вершины можно в любом направлении. И начинать можно с любой вершины. На рисунке нумерация проведена с клетки, смежной начальной. В этом случае начальная клетка всегда будет четной.

В каждой строке и каждом столбце, по которым проходит цикл пересчета, будет две и только две вершины: одна четная и одна нечетная. В результате цикл пересчета, построенный в допустимой матрице перевозок, обладает замечательным свойством: если перемещать по нему некоторое количество груза  >0, прибавляя его к Xij в четных вершинах и вычитая из Xij в нечетных, то условия задачи ПО и ПН не нарушатся. Чтобы новое решение было допустимым, то есть выполнялось и условие неотриц-ти переменных, необходимо ограничить значение :   0=min Xij, ij нечет.

Здесь нечет – множество индексов переменных в нечетных вершинах цикла.

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