Главная страница
Навигация по странице:

  • Теоретическое введение Транспортные задачи

  • Математическая постановка транспортной задачи

  • Методы нахождение опорного плана Метод северо-западного угла (диагональный)

  • Метод наименьшего элемента

  • Метод Фогеля

  • Итерационный алгоритм решения транспортной задачи

  • Контрольная работа по дисциплине «Математические методы исследования операций». КР. Контрольная работа по дисциплине Математические методы исследования операций


    Скачать 271.21 Kb.
    НазваниеКонтрольная работа по дисциплине Математические методы исследования операций
    АнкорКонтрольная работа по дисциплине «Математические методы исследования операций
    Дата11.02.2023
    Размер271.21 Kb.
    Формат файлаdocx
    Имя файлаКР.docx
    ТипКонтрольная работа
    #931471

    Контрольная работа

    по дисциплине

    «Математические методы исследования операций»
    тРАНСПОРТНАЯ ЗАДАЧА ЛИНЕЙНОГО ПРОГРАММИРОВАНИЯ.
    I Теоретическое введение
    Транспортные задачи
    Транспортные задачи — специальный класс задач линейного программирования. Эти задачи часто описывают перемещение (перевозку) какого-либо товара из пункта отправления (исходный пункт, например место производства) в пункт назначения (склад, магазин, грузохранилище). Назначение транспортной задачи — определить объем перевозок из пунктов отправления в пункты назначения с минимальной суммарной стоимостью перевозок. При этом должны учитываться ограничения, налагаемые на объемы грузов, имеющихся в пунктах отправления (предложения), и ограничения, учитывающие потребность грузов в пунктах назначения (спрос). В транспортной модели предполагается, что стоимость перевозки по какому-либо маршруту прямо пропорциональна объему груза, перевозимого по этому маршруту. В общем случае транспортную модель можно применять для описания ситуаций, связанных с управлением запасами, управлением движением капиталов, составлением расписаний, назначением персонала и др.

    Хотя транспортная задача может быть решена как обычная задача линейного программирования, ее специальная структура позволяет разработать алгоритм с упрощенными вычислениями, основанный на симплексных отношениях двойственности.
    Математическая постановка транспортной задачи
    В общем виде задачу можно представить следующим образом: в m пунктах производства A1, A2, …, Am имеется однородный груз в количестве соответственно a1, a2, …, am. Этот груз необходимо доставить в n пунктов назначения B1, B2, …, Bn в количестве соответственно b1, b2, …, bn. Стоимость перевозки единицы груза (тариф) из пункта Ai в пункт Bj равна cij.

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

    Обозначим через xij количество груза, перевозимого из пункта Ai, в пункт Bj. Запишем условия задачи в транспортную таблицу, которую будем использовать для нахождения решения.
    Транспортная таблица

    Bi

    Ai

    B1

    B2



    Bj



    Bn

    b1

    b2



    bi



    bn

    A1 a1

    c11

    x11

    c12

    x12



    с1j

    x1j



    c1n

    x1n

    A2 a2

    c21

    x21

    c22

    x22



    c2j

    x2j



    c2n

    x2n















    Ai ai

    ci1

    xi1

    ci2

    xi2



    cij

    xij



    cin

    xin















    Am am

    cm1

    xm1

    cm2

    xm2



    cmj

    xmj

    ...

    cmn

    xmn


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


    при ограничениях:







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

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

    Шаг 2. На основании условия оптимальности симплекс-метода среди всех небазисных переменных определяем вводимую в базис. Если все небазисные переменные удовлетворяют условию оптимальности, вычисления заканчиваются; в противном случае переходим к третьему этапу.

    Шаг 3. С помощью условия допустимости симплекс-метода среди текущих базисных переменных определяем исключаемую. Затем находим новое базисное решение. Возвращаемся ко второму этапу.
    Однако выполнение этих шагов существенно отличается от выполнения тех же по сути шагов в симплекс-методе.
    Методы нахождение опорного плана
    Метод северо-западного угла (диагональный)

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

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

    2. Вычеркивается строка (или столбец) с полностью реализованным предложением (с удовлетворенным спросом). Это означает, что в вычеркнутой строке (столбце) мы не будем присваивать значения остальным переменным (кроме переменной, определенной на первом этапе).

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

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

    Этот метод более сложен, однако он дает наилучшее начальное решение.

    Алгоритм выполнения метода.

    1. В каждой строке и каждом столбце транспортной таблицы вычисляется разность между двумя наименьшими элементами (Cij).

    2. Среди всех вычисленных разностей Cij выбрается максимальная и выделяется соответствующий столбец (строка).

    3. В выбранном столбце (строке) находится минимальное значение Cij и назначается необходимая перевозка, ориентируясь на наличие запасов (ai) данного поставщика (Aij) и потребностей (bj) данного потребителя (Bij).

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

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

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

    Найденное исходное опорное решение проверяется на оптимальность методом потенциалов по следующему критерию: если опорное решение транспортной задачи является оптимальным, то ему соответствует система m+n действительных чисел ui и vj, удовлетворяющих условиям ui+vj=cij для занятых клеток и ui + vj –cij ≤ 0 для свободных клеток.

    Числа ui и vj называют потенциалами. В транспортную таблицу добавляют строку vj и столбец ui.

    Потенциалы ui и vj находят из равенства ui + vj = cij, справедливого для занятых клеток. Одному из потенциалов дается произвольное значение, обычно u1 = 0, тогда остальные потенциалы определяются однозначно. Так, если известен потенциал ui, то vj=cij–ui; если известен потенциал vj, то ui=cij-vj.

    Обозначим ∆ij=ui+vj–cij. Эту оценку называют оценкой свободных клеток. Если ∆ij≤0, то опорное решение является оптимальным. Если хотя бы одна из оценок ∆ij>0, то опорное решение не является оптимальным и его можно улучшить, перейдя от одного опорного решения к другому.

    Вычисленные значения совместно с нулевыми значениями для базисных переменных (поскольку ui+vj–cij=0 для любой базисной переменной xij) фактически являются коэффициентами z-строки симплекс-таблицы.

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

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

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

    1. Должны выполняться ограничения на спрос и предложение.

    2. Ни по какому маршруту не должны выполняться перевозки с отрицательным объемом грузов.

    Эти условия позволяют найти значение q и определить исключаемую переменную.

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

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

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

    II Задание
    Постановка задачи.

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

    Требуется найти оптимальный план закрепления потребителей за поставщиками однородного груза при условии минимизации общего пробега автомобилей, используя варианты, представленные ниже.
    Порядок выполнения работы
    1. Для транспортной задачи согласно варианта найти первоначальный план методом Северо-Западного угла.

    2. Найти оптимальное решение транспортной задачи.

    3. Найти первоначальный план методом Фогеля и сравнить его с оптимальным решением.


    Таблица 1 Варианты заданий

    варианта

    Модель

    1







    2







    3







    4







    5







    6







    7







    8







    9







    10







    11







    12







    13







    14







    15







    16







    17







    18







    19







    20







    21







    22







    23







    24







    25







    26







    27







    28







    29







    30










    написать администратору сайта