Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
М-М для решения п-р.doc
Скачиваний:
4
Добавлен:
01.05.2025
Размер:
12.34 Mб
Скачать

Практическая работа №8 проверка оптимального плана методом дифференциальных рент.

Алгоритм:

  1. В каждом столбце матрицы ищется min Cij и обводится кружком. Затем, начиная с первого столбца в клетке с кружками, заносятся подставки максимально возможные. Ели при распределении в клетке с кружком не осталось ни мощности, ни спроса, то заносят 0-ю поставку.

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

  3. В каждом столбце определена разность между min Cij в положительной строке и Cij в кружке и пишем в последнюю строку. Берем минимальную разность и называем ее промежуточной рентой.

  4. Чертим новую таблицу, в которой Cij в положительных строках записываем без изменения, а к отрицательным Cij прибавляем промежуточную ренту.

  5. В положительной строке ищем Cij = кружку и обводим ее.

Далее:

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

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

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

Практическая работа №9 решение задач о кратчайших расстояниях.

Алгоритм:

  1. Фиксируем точку Pi, до которой необходимо рассчитать кратчайшее расстояние от всех остальных. Записываем около нее 0, как расстояние до самой себя и назовем это характеристикой точки.

  2. Определяем характеристики соседних точек по формуле Cij = 0 + Lij и на связях ставим стрелки по направлению к фиксированной.

  3. Отмечаем точку Pi галочкой (√), т.е. операции над ней закончены.

  4. Переходим к любой следующей, для которой характеристика определена, предположим, что это Pj′ и определяем характеристики соседних с ней точках по формуле Cij = Cij'+Lij'.

  5. Точку Pj отмечаем галочкой и переходим к 4-му пункту алгоритма.

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

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

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