Автор: Пользователь скрыл имя, 16 Января 2011 в 14:32, курсовая работа
целью данной работы является не столько решение задач линейного программирования, сколько реализация этого решения с помощью ЭВМ. Конкретно, в этой работе разбирается реализация симплексного метода решения и поиска первоначального допустимого базисного решения.
Содержание 2
Введение 3
Теоретическая часть 4
Задачи линейного программирования 5
Решение задач симплексным методом 8
Двойственные задачи 12
Экономическая интерпретация двойственных задач. 12
Свойства двойственных задач. 14
Решение задач с помощью симплексных таблиц 16
Реализация алгоритма 19
Выводы и заключения 21
Список используемых источников информации 21
Для решения задачи реализации симплекс-метода в случае всех отрицательных свободных членов мы должны прибегнуть к решению двойственной задачи. Это позволяет получить решение по оптимальному решению двойственной задачи, имеющей допустимое начальное решение.
Каждой задаче линейного программирования соответствует другая задача, называемая двойственной или сопряженной по отношению к исходной. Теория двойственности оказалась полезной для проведения качественных исследований задач линейного программирования.
Экономическая интерпретация
задачи, двойственной задаче об использовании
ресурсов. Ранее рассмотрена задача
об использовании ресурсов (экономико-математическая
модель и содержательная интерпретация
этой задачи I представлены в левой части
табл. 6.1). В приведенной модели bi
(i = 1, 2, ..., m) обозначает запас ресурса Si
, aij - число единиц ресурса Si
потребляемого при производстве единицы
продукции Pj(j = 1, 2, ..., n); Cj -
прибыль (выручка) от реализации единицы
продукции Pj (или цена продукции
Pj).
Предположим, что некоторая организация
решила закупить ресурсы S1, S2,
..., Sm предприятия и необходимо установить
оптимальные цены на эти ресурсы у1,
у2, ..., ym
Очевидно,
что покупающая организация заинтересована
в том, чтобы затраты на все ресурсы Z в
количествах b1, b2, ..., bm
по ценам соответственно у1, у2,
..., ym были минимальны, т.е
Z = b1у1 + b2 у2 + ...
+ bm уm
min .
С другой стороны, предприятие, продающее
ресурсы, заинтересовано в том, чтобы полученная
выручка была не менее той суммы, которую
предприятие может получить при переработке
ресурсов в готовую продукцию. На изготовление
единицы продукции Р1 расходуется
a11 единиц ресурса S1, a21
единиц ресурса S2, ..., ai1 единиц
ресурса Si ..., аm1 единиц ресурса
Sm по цене соответственно у1,
у2, ..., уi ..., ym. Поэтому
для удовлетворения требований продавца
затраты на ресурсы, потребляемые при
изготовлении единицы продукции Р1
должны быть не менее ее цены c1, т.е.
a11 у1 + a21 у2 +…+
am1 уm>= c1
Аналогично можно составить ограничения
в виде неравенств по каждому виду продукции
Р1, Р2, ..., Рm.
Экономико-
Задача I (исходная) | Задача II (двойственная) |
F=c1x1+c2x
2+...+cnxn
max (6.1) при ограничениях a11x1 + a12x2+...+ a1nxn <= b1 a21x1 + a22x2+...+ a 2nxn <= b2 (6.2) am1x1 + am2x2+...+ amnxn <= bm и условии неотрицательности x1>= 0; x2>= 0;: xn>= 0 Составить такой план выпуска продукции Х = (х1, х2, ..., хn), при котором прибыль (выручка) от реализации продукции будет максимальной при условии, что потребление ресурсов по каждому виду продукции не превзойдет имеющихся запасов. |
Z=b1y1+b2y2+...+bm
ym
min (6.4) при ограничениях a11у1 + a21у2+...+ am1уm >= c1 a12у1 + a22у2+...+ am2уm >= c2 (6.5) a1nу1 + a2nу2+...+ amnуm >= cn и условии неотрицательности. y1>= 0; y2>= 0;: ym>= 0 Найти такой набор цен (оценок) ресурсов Y = (у1, y2, ..., уm), при котором общие затраты на ресурсы будут минимальными при условии, что затраты на ресурсы при производстве каждого вида продукции будут не менее прибыли (выручки) от реализации этой продукции |
Цены ресурсов у1, у2, ..., уm в экономической литературе получили различные названия: учетные, неявные, теневые.
Смысл этих названий состоит в том, что это условные, "ненастоящие" цены. В отличие от "внешних" цен c1, с2, ..., cn на продукцию, известных, как правило, до начала производства, цены ресурсов у1, у2, ..., уn являются внутренними, ибо они задаются не извне, а определяются непосредственно в результате решения задачи, поэтому их чаще называют оценками ресурсов.
Рассмотрим
формально две задачи I и II линейного
программирования, представленные в
табл. 6.1, абстрагируясь от содержательной
интерпретации параметров, входящих
в их экономико-математические модели.
Обе задачи обладают следующими свойствами:
1. В одной задаче ищут
максимум линейной функции,
в другой - минимум.
2. Коэффициенты при
переменных в линейной
функции одной задачи
являются свободными
членами системы ограничений
в другой.
3. Каждая из задач задана
в стандартной форме,
причем в задаче максимизации
все неравенства вида "<=",
а в задаче минимизации -
все неравенства вида ">=".
4. Матрицы коэффициентов
при переменных в системах
ограничений обеих задач
являются транспонированными
друг к другу:
для задачи I A =
для задачи II А' =
5.
Число неравенств
в системе ограничений
одной задачи совпадает
с числом переменных
в другой задаче.
6. Условия неотрицательности
переменных имеются
в обеих задачах.
Две задачи I и II линейного
программирования, обладающие
указанными свойствами,
называются симметричными
взаимно двойственными
задачами. В дальнейшем для простоты
будем называть их просто двойственными
задачами.
Исходя из определения, можно предложить
следующий алгоритм
составления двойственной
задачи.
1. Привести все неравенства системы
ограничений исходной задачи к одному
смыслу: если в исходной задаче ищут максимум
линейной функции, то все неравенства
системы ограничений привести к виду "<=",
а если минимум - к виду ">=". Для этого
неравенства, в которых данное требование
не выполняется, умножить на -1.
2. Составить расширенную матрицу системы
А1, в которую включить матрицу
коэффициентов при переменных А, столбец
свободных членов системы ограничений
и строку коэффициентов при переменных
в линейной функции.
3. Найти матрицу А'1, транспонированную
к матрице А1.
4. Сформулировать двойственную задачу
на основании полученной матрицы A'1
и условия неотрицательности переменных.
Соответствие переменных | |
Переменные исходной задачи | |
Первоначальные | Дополнительные |
Дополнительные | Первоначальные |
Переменные двойственной задачи |
В этом разделе описано использование симплексных таблиц для решения задач. Использование симплексных таблиц весьма удобно для ручного расчёта задач. Для заполнения первой симплексной таблицы надо привести систему к каноническому виду. Затем если надо ищется первоначальное допустимое решение или задачу надо решать M-методом. Кроме того, систему представляют в расширенном виде.
(2.19) |
Обратите внимание, что коэффициенты при переменных в функции меняют знак! Все введённые переменные имеют тот же знак, что и свободные члены иначе надо использовать M-метод (или заранее отыскать ПДБР). Далее эти данные заносятся в первую симплексную таблицу, общий вид которой представлен ниже.
|
(2.20)
Теперь, поясним, что есть что. Каждая строка - это уравнение в расширенной системе (смотрите формулу 2.19). В столбце "Базис" перечисляются все базисные (основные) переменные, их число равно числу уравнений в системе ограничений. Следующий столбец, "Свободные член" заполняется значениями свободных членов уравнения. В самую верхнюю строку (под надписью "переменные") выписываются все переменные. Самая нижняя строка, начиная с c1, заполняется значениями коэффициентов при переменных, которые написаны вверху таблицы, из уравнения функции (с обратным знаком, как в расширенной системе), если в уравнении функции такой переменной нет, то пишем ноль. Ячейки "a" заполняются так. Если вверху столбца написана основная переменная, то на пересечении этого столбца со строкой, в которой написана та же переменная, ставим 1, во все остальные ячейки столбца пишем 0. Если же вверху столбца неосновная переменная, то в ячейки записываются её коэффициенты из соответствующего уравнения, если её нет в этом уравнении, то пишем 0. В ячейку c0, на первом шаге просто пишем ноль.
Далее надо провести проверку на оптимальность решения. Это делается легко, если задача на минимум то решение оптимально, если все c, кроме c0, имеют отрицательные знаки, если же задача на максимум, то когда положительные знаки.
Если решение не оптимально, ищем разрешающий столбец (индекс s), он определяется коэффициентом при переменной в уравнении функции, то есть нижней строкой, начиная c1. Для задачи на минимум это любой столбец, где c максимальный, положительный элемент, а для задачи на максимум, минимальный, отрицательный элемент. Далее проводим расчёт оценочных отношений и заполняем соответствующий столбец. Расчет производится в соответствии со следующим правилом:
если bi и ais имеют разные знаки, то gi равно бесконечности
если bi равно нулю и ais меньше нуля, то gi равно бесконечности
если bi равно нулю и ais больше нуля, то gi равно нулю
если ais равно нулю, то gi равно бесконечности
иначе gi равно частному от деления bi на ais
После того, как столбец с g заполнен. Выбирается разрешающая строка (индекс q). Это строка, в которой самое минимальное оценочное отношение (но не ноль и не бесконечность). На пересечении разрешающих строки и столбца находится разрешающий элемент - aqs.
Информация о работе Реализация симплекс-метода в случае отрицательных свободных членов