Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Элементы математического программирования↑ Стр 1 из 9Следующая ⇒ Содержание книги
Поиск на нашем сайте
БЕЛОРУССКИЙ НАЦИОНАЛЬНЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ
Элементы математического программирования
Методические указания и контрольные задания для студентов экономических специальностей БНТУ
Минск 2006
УДК 380.105 (075.8) ББК 22.171 Л 26
Рецензенты:
В.Ф.Бубнов, А.Н.Рудый
Корзников А.Д., Матвеева Л.Д., Смирнов М.Б. Л26 Элементы математического программирования: Методическое пособие для студентов экономических специальностей БНТУ/ Корзников А.Д., Матвеева Л.Д., Смирнов М.Б.. – Мн.: БНТУ, 2006. – 68 с.
Под общей редакцией А.Д.Корзникова
ISBN 985-479-172-6.
Данное методическое пособие включает в себя изложение теоретических методов решения основных задач математического программирования, а также контрольные задания по каждой теме для самостоятельного решения. Пособие состоит из восьми разделов, по каждому из которых предлагается 10 задач. В каждом разделе описывается теоретическое обоснование метода, формальный алгоритм и пример решения типовой задачи. Пособие предназначено для студентов экономических специальностей заочного отделения БНТУ; оно может быть также полезно преподавателям, ведущим практические занятия по курсу математического программирования.
Ó БНТУ 2006
КОНТРОЛЬНЫЕ ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ
Задание 2. Геометрическим методом найти максимум и минимум функции Z для x, y ³ 0 при заданных ограничениях:
Варианты:
1. Z = 2x + y 2. Z = 3x + y 3x - 4y £ 4 y £ 1 -x + 6y £ 8 x - 2y £ 3 x + y ³ 1 2x + y ³ 1
3. Z = 2x - y 4. Z = x + y 2x + y £ 3 y ³ 2 x + y ³ 6 x + y £ 7 x - 3y £ 3 -x + 2y £ 2
5. Z = 4x + y 6. Z = 3x - y x - 2y ³ 0 2x + 3y £ 13 4x - y £ 14 x ³ 2 3x + y ³ 7 5x - 3y £ 22
7. Z = 2x + y 8. Z = x + 5y x ³ 2 3x - y ³ 3 4x - y £ 8 x - y £ 4 x - y ³ -1 x + y ³ 6
9. Z = 5x + y 10. Z = 3x x - 4y ³ -3 x + y £ 7 4x - 3y £ 14 2x - y £ 11 3x + y ³ 4 4x + y ³ 19 Алгоритм Симплекс-метода Исходные данные: задача в канонической форме; целевая функция минимизируется; найдено начальное базисное допустимое решение (опорный план), то есть система уравнений (2) имеет базис и все правые части уравнений bi ³ 0 - неотрицательны; целевая функция выражена через свободные переменные. При выполнении этих условий каждая итерация метода состоит из трех шагов: Шаг 1. Имеющийся план проверяется на оптимальность. Если в Z – строке нет отрицательных элементов, то имеющийся план оптимален и задача решена. Если отрицательные элементы есть, то план не оптимален. Выбираем любой отрицательный элемент Z – строки (как правило, максимальный по модулю) и считаем столбец, в котором он находится в качестве разрешающего. Пусть для определенности это столбец переменной хs. Шаг 2. Выбор разрешающей строки. Пусть разрешающий столбец, выбранный на предыдущем шаге, это столбец переменной хs. Для каждой i -ой строки (i = 1,...,m) делим элементы столбца свободных членов “Значение” (напомним, что все они неотрицательные) на положительные элементы разрешающего столбца, стоящие в этой строке, и находим минимальное из полученных частных, т.е. находим Пусть этот минимум достигается в строке r. Тогда r -ая строка является разрешающей, элемент ars - разрешающий элемент таблицы. Шаг 3. Пересчет таблицы. Преобразованиями Жордана-Гаусса пересчитываем таблицу относительно разрешающего элемента ars, найденного на предыдущем шаге, для чего: 3.1. Делим разрешающую строку на разрешающий элемент. В результате, на месте элемента ars будет стоять а¢rs = 1. 3.2. Ко всем остальным строкам таблицы (включая Z - строку) прибавляем полученную разрешающую, умноженную на элемент (-ais), где i – номер изменяемой строки i =1,2,...,r-1,r+1,...,m. К Z – строке прибавляем разрешающую строку, умноженную на (- cs). Иначе говоря, элементы новой таблицы (со штрихом) вычисляются по формулам: а¢rj = arj / ars; - новые элементы разрешающей строки (j = 1, 2,..., n); b¢r = br / ars а¢ij = aij - a¢rj× ais; - новые элементы i-й строки (i =1, 2,...,m; j = 1, 2,..., n); b¢i = bi - b¢r × ais c¢j = cj - a¢rj× cs; - новые элементы Z - строки (j = 1, 2,..., n); Z¢ = Z - b¢r × cs В результате этих преобразований в столбце хs везде будут стоять нули кроме r -строки, где будет 1, т.е. хs будет новой базисной переменной, целевая функция будет выражена через новые свободные переменные, новый план Х¢ находится в столбце “Значение” и лучше предыдущего, так как значение целевой функции для нового плана равно -Z¢ < Z. Переходим к шагу 1 и повторяем всю процедуру для нового плана Х¢. Поскольку базисных решений системы (2) конечное число, а каждое новое базисное решение лучше предыдущего, то этот процесс завершится за конечное число шагов.
Решение задачи линейного программирования в общем случае. Рассмотрим следующую задачу ЛП: Z = - 3x1 + х2 ® min 2x1 – х2 ³ 2, -x1 + 2х2 ³ 5, x1 + х2 £ 10, x1, х2 ³ 0. Приведем ее к каноническому виду введением трех неотрицательных переменных х3, х4, х5. Получим задачу:
Z = - 3x1 + х2 ® min 2x1 – х2 - х3 = 2, -x1 + 2х2 - х4 = 5, (7) x1 + х2 + х5 = 10, x1, х2, х3, х4, х5 ³ 0. При попытке решить эту задачу симплекс-методом возникает определенная трудность, связанная с тем, что нет очевидного начального базисного допустимого решения (опорного плана), так как переменные х3 и х4 не являются базисными. Умножение первых двух уравнений на -1 также ничего не дает, поскольку соответствующее базисное решение (0, 0, -2, -5, 10) не будет допустимым. Пытаться просто перебирать базисные решения в попытке отыскать допустимое, нецелесообразно, так как неясно, имеет ли эта задача вообще допустимые решения. Для решения проблемы применим метод искусственного базиса. Введем в первые два уравнения (третье не создает проблем) искусственные переменные х6 ³ 0 и х7 ³ 0. В результате получим базис из переменных х6, х7, х5. 2x1 – х2 - х3 + х6 = 2, -x1 + 2х2 - х4 + х7 = 5, (8) x1 + х2 + х5 = 10,
Соответствующее базисное решение Х0 = (0, 0, 0, 0, 10, 2, 5) является допустимым для ограничений (8). Однако ограничения (7) и (8) не являются эквивалентными в том смысле, что любому допустимому решению системы ограничений (8), в котором хотя бы одна искусственная переменная отлична от нуля, нельзя поставить в соответствие допустимое решение системы ограничений (7). С целью исключения искусственных переменных из базисного решения системы ограничений (8), т.е. для получения допустимого базисного решения системы ограничений (7), используем алгоритм симплекс-метода. Для того, чтобы искусственные переменные стали свободными, необходимо, чтобы они были равны нулю (сейчас х6 = 2, х7 = 5). Поэтому введем искусственную целевую функцию W = х6 + х7. и будем ее минимизировать при ограничениях (8). Если удастся найти базисное допустимое решение при котором W = 0 (сейчас W = 7), то тогда х6 и х7 будут равны нулю, поскольку они неотрицательны, и мы получим базис из основных и дополнительных переменных. Таким образом, задача разбивается на два этапа. На первом этапе минимизируется искусственная целевая функция W. Этот этап закончится либо нахождением опорного плана исходной задачи (7), либо тем, что минимизировать функцию W до нуля не удастся, т.е. допустимых планов нет, а значит (ввиду теоремы 1) и нет вообще допустимых решений задачи. Если опорный план найдется, то на втором этапе решаем задачу симплекс-методом. Проиллюстрируем описанный выше метод искусственного базиса, применив его к решению задачи (7). Этап 1. Составим исходную симплекс-таблицу для задачи (8). Все вычисления будем проводить также и для целевой функции Z. Тогда после завершения первого этапа получим целевую функцию Z, выраженную через свободные переменные.
Для того, чтобы начать минимизацию функции W, ее надо выразить через свободные переменные. Для этого, из W - строки вычтем первую и вторую строки. Получим Таблица 1.
Так как в W – строке есть отрицательные элементы, то выбираем в качестве разрешающего любой из первых двух столбцов, например первый. Поскольку min{2/2, 10/1} = 1 достигается в первой строке, то разрешающая строка – первая и разрешающий элемент а11 = 2. Пересчитывая таблицу относительно этого элемента, получим новую таблицу: Таблица 2.
Так как переменная х6 вышла из базиса, то в дальнейшем ее не используем (вычеркиваем столбец х6). Теперь разрешающим столбцом будет второй, разрешающей строкой – вторая и после пересчета получим (поскольку искусственная переменная х7 выйдет из базиса, столбец х7 также вычеркиваем): Таблица 3.
Этап 1 успешно завершен, так как искусственные переменные выведены из базиса и мы получили опорный план Х0 = (3, 4, 0, 0, 3) исходной задачи (7), к которому можно применить алгоритм симплекс-метода. На втором этапе W - строка уже не нужна и мы ее вычеркиваем.
Этап 2. Таблица 3.
Целевую функцию Z можно уменьшить (сейчас Z = -5) если ввести в базис х3 или х4. Выбираем третий столбец в качестве разрешающего, т.к. –5/3 < -1/3. Разрешающей строкой будет третья, т.к. только в ней есть положительный элемент разрешающего столбца. Разрешающий элемент а33 = 1. Пересчитывая таблицу, получим: Таблица 4.
Поскольку в Z – строке таблицы 4 нет отрицательных элементов, то новый план Х1 = (5, 5, 3, 0, 0) является оптимальным и Zmin = Z(5,5) = -10. Задача решена полностью.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ Задание 3. Решить задачу линейного программирования симплекс-методом (x, y ³ 0).
Варианты:
1. Z = x - 2y ® min 2. Z = -x + y ® min 3x + y ³ 8 3x - 2y ³ 7 4x + 5y £ 29 x + 2y £ 13 x + 4y ³ 10 x - 2y £ 1
3. Z = 2x + y ® max 4. Z = x - y ® max -x + 2y ³ 3 -2x + 3y £ 5 -x + y £ 1 x + 2y ³ 8 3x - 2y £ 3 3x - y £ 10
5. Z = 2x + y ® max 6. Z = x + y ® max x - y £ 0 x - y ³ 0 3x - 2y £ 3 -x + 2y £ 4 5x - 4y ³ 1 -3x + 4y ³ 2
7. Z = 5x + 2y ® max 8. Z = 2x + 4y ® max 3x + y ³ 9 3x + y ³ 8 2x + y ³ 7 -x + 3y ³ 4 5x + 2y £ 17 x + 2y £ 11
9. Z = 2x + y ® max 10. Z = x - y ® min -x + 5y £ 4 x + 3y £ 7 x - y £ 4 2x - y £ 7 x + y ³ 2 5x + y ³ 7
ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД
Рассмотрим задачу линейного программирования в общей форме: Z = c1 x1 + c2 x2 +...+ cn xn ® max (1) при ограничениях: y 1³0 a11 x1 + a12 x2 +...+ a1n xn £ b1 y 2³0 a21 x1 + a22 x2 +...+ a2n xn £ b2 ....................................... (2) y k³0 ak1 x1 + ak2 x2 +...+ akn xn £ bk y k+1 ak+1 1 x1 + ak+1 2 x2 +...+ ak+1 n xn = bk+1 ....................................... y m am1 x1 + am2 x2 +...+ amn xn = bm, xj ³ 0, j = 1,..., l; l £ n (3) Каждому i -му ограничению из (2) соответствует переменная y i так называемой двойственной задачи к задаче (1) – (3) (показана слева от соответствующего ограничения). Двойственная задача имеет вид: W = b1 y1 + b2 y2 +...+ bm xm ® min (4) при ограничениях: x1 ³ 0 a11 y1 + a21 y2 +...+ am1 ym ³ c1 x2 ³ 0 a12 y1 + a22 y2 +...+ am2 ym ³ c2 ....................................... (5 ) xl ³ 0 a1l y1 + a2l y2 +...+ aml ym ³ cl xl+1 a1 l+1 y1 + a2 l+1 y2 +...+ a m l+1 ym = cl+1 ....................................... xn a1n y1 + a2n y2 +...+ amn ym = cn, yi ³ 0, i = 1,..., k; k £ n (6) Задачи (1) – (3) и (4) – (6) образуют пару задач, называемую в линейном программировании двойственнойпарой. Сравнивая две задачи, видим, что двойственная задача по отношению к исходной (прямой) содержит те же самые коэффициенты aij, bi, cj и составляется согласно следующим правилам: 1. Целевая функция (1) исходной задачи задается на максимум, а целевая функция (4) двойственной задачи – на минимум. 2. Матрица АТ, составленная из коэффициентов при неизвестных в системе ограничений (5) двойственной задачи получается из матрицы А прямой задачи транспонированием (т.е. заменой строк столбцами): а11 а12... а1n a11 a21... am1 A = а21 а22... а2n AT = a12 a22... am2 ......................... аm1 аm2... аmn a1n a2n... amn
3. Число переменных в двойственной задаче (4)–(6) равно числу ограничений в системе (2) прямой задачи, а число ограничений в системе (5) двойственной задачи равно числу переменных в прямой задаче. 4. Коэффициентами при неизвестных в целевой функции (4) двойственной задачи являются свободные члены в системе (2) прямой задачи и наоборот. 5. Если переменная xj ³ 0, то j- ое ограничение в системе (5) двойственной задачи является неравенством “ ³ ”. Если же переменная xj может иметь любой знак, то j -ое ограничение в системе (5) представляет собой уравнение. Каждая из задач двойственной пары (1) – (3) и (4) – (6) фактически является самостоятельной задачей линейного программирования и может быть решена независимо одна от другой. Однако при определении симплексным методом оптимального плана одной из задач, тем самым находится решение и другой задачи. Существующие зависимости между решениями прямой и двойственной задач характеризуются сформулированными ниже теоремами двойственности. Теорема 1. (Основная теорема двойственности). Если одна из пары двойственных задач имеет оптимальный план, то и другая имеет оптимальный план причем значения целевых функций задач при их оптимальных планах совпадают, т.е. Zmax = Wmin. Если же целевая функция одной из задач не ограничена (для исходной (1) – (3) – сверху, для двойственной (4) – (6) – снизу), то другая задача вообще не имеет допустимых решений. Теорема 2. (Вторая теорема двойственности). Для того, чтобы два допустимых решения и пары двойственных задач были их оптимальными решениями, необходимо и достаточно, чтобы они удовлетворяли системам уравнений: (7) Замечание. Соотношения (7) верны только для ограничений в виде неравенств и для неотрицательных переменных.
Двойственный симплекс-метод, как и симплекс-метод, используется при нахождении решения задачи линейного программирования, записанной в канонической форме. Вместе с тем двойственный симплекс-метод можно применять при решении задачи ЛП, свободные члены системы ограничений которой могут быть любыми числами (при решении задачи симплексным методом эти числа предполагались неотрицательными). Опишем алгоритм двойственного симплекс-метода. Рассмотрим задачу линейного программирования в канонической форме.
(8) (9) (10)
Пусть матрица ограничений А содержит единичную подматрицу порядка m и первые m переменных являются базисными. Среди чисел есть отрицательные. Вектор есть решение системы (9). Однако, это решение не является планом задачи (8) – (10), поскольку среди его компонент есть отрицательные числе (т.е. не выполняются ограничения (10)). Исключим базисные переменные из целевой функции z: . Предположим, что Шаг 1. Составить исходную симплексную таблицу.
Шаг 2. Выяснить, имеется ли хотя бы одно отрицательное число среди элементов столбца b. Если нет, то перейти к шагу 8. Иначе – к шагу 3. Шаг 3. Если отрицательных чисел в столбце b несколько, то выбрать наименьшее. Пусть, для определенности, это число . Строка с номером l – ведущая. Шаг 4. Среди элементов ведущей строки l находят отрицательные. Если таковых нет, то исходная задача не имеет решения. В противном случае перейти к шагу 5. Шаг 5. Вычислить . Столбец с номером k – ведущий, - ведущий элемент. Шаг 6. С помощью ведущего элемента провести одну итерацию метода Жордана-Гаусса. Шаг 7. Построить новую симплексную таблицу и перейти к шагу 2. Шаг 8. Задача линейного программирования (8) – (10) решена. По последней симплексной таблице выписать оптимальный план и минимальное значение целевой функции задачи (8) – (10). Замечание. Если среди чисел есть отрицательные, то следует в системе ограничений (9) преобразовать свободные члены bj в неотрицательные, умножив на (-1) строки, содержащие отрицательные свободные члены и решать задачу (8) – (10) методом искусственного базиса.
Пример. Решить задачу линейного программирования: Z = 6x1 + 9x2 + 3x3 ® min -x1 + 2x2 + x3 ³ 2 3x1 + x2 – x3 ³ 1 (11) xj ³ 0, j = 1, 2, 3.
Решение. Составим для задачи (11) двойственную: W = 2y1 + y2 ® max -y1 + 3y2 £ 6 2y1 + y2 £ 9 (12) y1 - y2 £ 3 y1, y2 ³ 0 Для решения задачи (11) двойственным симплекс-методом приведем ее к каноническому виду. Для этого умножим первое и второе ограничения на (-1) и добавим соответственно неотрицательные дополнительные переменные x 4 ³ 0, x5 ³ 0: Z = 6x1 + 9x2 + 3x3 ® min x1 - 2x2 - x3 + x4 = -2 -3x1 - x2 + x3 + x5 = -1 (13) xj ³ 0, j = 1, 2,..., 5. Базисными переменными здесь являются переменные х 4 и х 5. Поскольку все коэффициенты с j ³ 0, то критерий оптимальности для этого базисного решения выполнен, однако само решение Х = (0, 0, 0, -2, -1) содержит отрицательные переменные, то есть не является допустимым. Естественно попытаться вывести отрицательные (не являющиеся допустимыми) переменные из базиса, сохранив при этом неотрицательность коэффициентов последней строки, так как в этом случае полученное допустимое решение будет являться и оптимальным. Такой подход является содержанием двойственного симплекс-метода. Проиллюстрируем его на примере решения задачи (13). Составим исходную симплекс-таблицу.
Вычисляем Из базиса будем выводить переменную x4. Следовательно, первая строка таблицы является разрешающей. Среди элементов разрешающей строки находим отрицательные а 12 = -2; a 13 = -1. Определяем Столбец, в котором достигается этот минимум, соответствует переменной х 3. Этот столбец является разрешающим и разрешающим элементом является элемент а 13 = -1. Это делается для того, чтобы элементы последней строки остались неотрицательными. Проводим одну итерацию метода Жордана-Гаусса относительно этого элемента, т.е. из базиса исключаем переменную х 4 и включаем в базис переменную х 3. Новая симплекс-таблица имеет вид:
Элемент b 2 = -3 < 0. Следовательно, разрешающей является вторая строка таблицы. Как и ранее, находим Следовательно второй столбец – разрешающий, переменную х 2 включаем в базис, переменную х 5 исключаем из базиса. Пересчитывая таблицу относительно элемента а 22 = -3, получаем новую таблицу:
Среди элементов столбца “Значение” нет отрицательных чисел. В Z – строке также нет отрицательных чисел. Следовательно, найден оптимальный план: Х * = (0; 1; 0), при этом Z* = Zmin = 9. По последней симплекс-таблице находим решение двойственной задачи (9). Для этого выясняем, какие переменные задачи (10) входили в исходный базис. В первоначальной таблице это – х 4, х 5. В последней симплекс-таблице находим элементы Z – строки, соответствующие этим базисным переменным (с 4 = 4, с 5 = 1) и прибавляем к ним соответствующие коэффициенты исходной целевой функции (с 4 = с 5 = 0). В результате получаем Y * = (4; 1), W * = W max = 9.
КОНТРОЛЬНЫЕ ЗАДАНИЯ ДЛЯ САМОСТОЯТЕЛЬНОГО РЕШЕНИЯ Задание 4. Решить задачу линейного программирования двойственным симплекс-методом. Варианты
1. 2.
V. ТРАНСПОРТНАЯ ЗАДАЧА
Общая постановка транспортной задачи состоит в определении оптимального плана перевозок некоторого однородного груза из m пунктов отправления А 1, А 2,..., А m в n пунктов назначения B1, B 2,..., B n. При этом в качестве критерия оптимальности берется либо минимальная стоимость перевозок всего груза, либо минимальное время его доставки. Математическая модель транспортной задачи имеет вид: , (14) (15) (16) (17)
Здесь c ij - тарифы перевозки единицы груза из i – го пункта отправления А i в j – ый пункт назначения B j, bj - потребность в грузе в j – ом пункте назначения, ai – запасы груза в i – ом пункте отправления. Наличие линейных уравнений (15) и (16) обеспечивает доставку необходимого количества груза в каждый из пунктов назначения и вывоз всего имеющегося груза из всех пунктов отправления. При этом, ввиду (17), исключаются обратные перевозки. Задача (14) – (17) является частным случаем задачи линейного программирования, однако, в силу своей специфики решается специальным методом. Если выполняется так называемое условие баланса , (18) то такая транспортная задача называется закрытой. Если условие баланса (18) не выполняется, то задача называется открытой. Теорема 1. Для разрешимости транспортной задачи необходимо и достаточно, чтобы выполнялось условие баланса (5). Если то вводится фиктивный (n + 1) - ый пункт назначения с потребностью и соответствующие тарифы полагают равными нулю, т.е. c i n+1 = 0 (i = 1,2,..., m). Аналогично, при вводится фиктивный, (m+1) – ый пункт отправления с запасами груза , при этом тарифы на перевозку из этого пункта также полагают равными нулю, c m+1 j = 0. Для решения задачи (14) – (17) применяется метод потенциалов, который по существу, является другой формой симплекс-метода. Опишем алгоритм метода. Исходные данные транспортной задачи запишем в таблице
1. Построение начального опорного плана. Система ограничений (16)-(17) содержит m×n неизвестных и m+ n уравнений, связанных отношением (18). Невырожденный опорный план задачи содержит m + n – 1 положительных перевозок или компонент. Таким образом, если каким-либо способом получен невырожденный опорный план задачи, то в матрице (xij) значений его компонент положительными являются только m + n – 1, а остальные равны нулю. Клетки, в которых находятся отличные от нуля перевозки, называются занятыми, остальные – незанятыми. Занятые клетки соответствуют базисным неизвестным, и для невырожденного опорного плана их количество равно m + n-1. Для построения начального опорного плана применим метод минимальной стоимости. Выбираем клетку с минимальной стоимостью (если их несколько, возьмем любую из них). Пусть, например, . Тогда в клетку (l, k) записывают число . При этом, если , то значение bk уменьшают на al и «закрывают» строку с номером l, так как ресурсы l -го поставщика исчерпаны. Если , то значение al уменьшают на bk и «закрывают» столбец с номером k, что означает удовлетворение спроса k- го потребителя. Если же al = bk, то «закрывают» строку или столбец по выбору. Вышеописанную процедуру повторяют для оставшейся транспортной таблицы до тех пор, пока не будут закрыты все строки и столбцы. 2. Построение системы потенциалов. Система потенциалов строится для невырожденного опорного плана и имеет вид: где - стоимость перевозки единицы груза занятой (базисной) клетки в i – ой строке и j -ом столбце. Вычисление потенциалов удобно проводить по таблице, положив равным нулю один из потенциалов и затем последовательно находя все остальные потенциалы вычитанием из стоимостей базисных клеток уже известных потенциалов. Потенциалы поставщиков записывают справа, а потенциалы потребителей - внизу транспортной таблицы. 3. Проверка опорного плана на оптимальность. Для каждой свободной клетки вычисляют оценки Если , то опорный план оптимален и задача решена. В противном случае план не является оптимальным, следовательно, его нужно улучшить. 4. Построение цикла и нахождение нового опорного плана. Среди отрицательных оценок выбираем наименьшую. Пусть В клетке (l, k) нарушено условие оптимальности. Для улучшения опорного плана необходимо в клетку (l, k) отправить некоторое количество груза, превратив ее тем самым в базисную. Эта операция эквивалентна действию по замене базиса в симплекс-методе. Клетку (l, k) отмечают
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-21; просмотров: 310; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.145.72.55 (0.011 с.) |