d9e5a92d

Кулаков О. - Построение экономической модели с использованием симплекс-метода

Моделирование в научных исследованиях стало применяться еще в глубокой древности и постепенно захватывало все новые области научных знаний : техническое конструирование , строительство и архитектуру , астрономию , физику , химию , биологию и , наконец , общественные науки . Большие успехи и признание практически во всех отраслях современной науки принес методу моделирования ХХ в . Однако методология моделирования долгое время развивалась независимо отдельными науками . Отсутствовала единая система понятий, единая терминология . Лишь постепенно стала осознаваться роль моделирования как универсального метода научного познания .
Термин модель широко используется в различных сферах человеческой деятельности и имеет множество смысловых значений . Рассмотрим только такие модели, которые являются инструментами получения знаний .
Модель - это такой материальный или мысленно представляемый объект, который в процессе исследования замещает объект-оригинал так, что его непосредственное изучение дает новые знания об объекте-оригинале .
Под моделирование понимается процесс построения , изучения и применения моделей . Оно тесно связано с такими категориями , как абстракция , аналогия , гипотеза и др . Процесс моделирования обязательно включает и построение абстракций , и умозаключения по аналогии, и конструирование научных гипотез.
Главная особенность моделирования в том , что это метод опосредованного познания с помощью объектов-заместителей . Модель выступает как своеобразный инструмент познания , который исследователь ставит между собой и объектом и с помощью которого изучает интересующий его объект . Именно эта особенность метода моделирования определяет специфические формы использования абстракций , аналогий , гипотез , других категорий и методов познания .
Необходимость использования метода моделирования определяется тем, что многие объекты ( или проблемы , относящиеся к этим объектам ) непосредственно исследовать или вовсе невозможно, или же это исследование требует много времени и средств.
Моделирование - циклический процесс . Это означает , что за первым четырехэтапным циклом может последовать второй , третий и т.д. При этом знания об исследуемом объекте расширяются и точняются, а исходная модель постепенно совершенствуется . Недостатки , обнаруженные после первого цикла моделирования , бусловленные малым знанием объекта и ошибками в построении модели , можно исправить в последующих циклах . В методологии моделирования , таким образом , заложены большие возможности саморазвития .

Словесное описание


Фирма , производящая некоторую продукцию осуществляет её рекламу двумя способами через радиосеть и через телевидение . Стоимость рекламы на радио обходится фирме в 5 $ , а стоимость телерекламы - в 100$ за минуту .
Фирма готова тратить на рекламу по 1000 $ в месяц . Так же известно , что фирма готова рекламировать свою продукцию по радио по крайней мере в 2 раза чаще , чем по телевидению .
Опыт предыдущих лет показал , что телереклама приносит в 25 раз больший сбыт продукции нежели радиореклама .
Задача заключается в правильном распределении финансовых средств фирмы .

Математическое описание .

X1 - время потраченное на радиорекламу .
X2 - время потраченное на телерекламу .
Z - искомая целевая функция , оражающая максимальный сбыт от 2-ух видов рекламы .
X1=0 , X2=0 , Z=0 ;
Max Z = X1 + 25X2 ;
5X1 + 100X2 =1000 ;
X1 -2X2 = 0
Использование графического способа удобно только при решении задач ЛП с двумя переменными . При большем числе переменных необходимо применение алгебраического аппарата . В данной главе рассматривается общий метод решения задач ЛП , называемый симплекс-методом .
Информация , которую можно получить с помощью симплекс-метода , не ограничивается лишь оптимальными значениями переменных . Симплекс-метод фактически позволяет дать экономическую интерепритацию полученного решения и провести анализ модели на чувствительность .
Процесс решения задачи линейного программирования носит итерационный характер : однотипные вычислительные процедуры в определенной последовательности повторяются до тех пор , пока не будет получено оптимальное решение . Процедуры , реализуемые в рамках симплекс-метода , требуют применения вычислительных машин - мощного средства решения задач линейного программирования .
Симлекс-метод - это характерный пример итерационных вычислений , используемых при решении большинства оптимизационных задач . В данной главе рассматриваются итерационные процедуры такого рода , обеспечивающие решение задач с помощью моделей исследования операций .


В гл 2 было показано , что правая и левая части ограничений линейной модели могут быть связаны знаками = , = и = . Кроме того , переменные , фигурирующие в задачах ЛП , могут быть неотрицательными или не иметь ограничения в знаке . Для построения общего метода решения задач ЛП соответствующие модели должны быть представлены в некоторой форме , которую назовем стандатрной формой линейных оптимизационных моделей . При стандартной форме линейной модели

  1. Все ограничения записываются в виде равенств с неотрицательной правой частью ;
  2. Значения всех переменных модели неотрицательны ;
  3. Целевая функция подлежит максимизации или минимизации .

Покажем , каким образом любую линейную модель можно привести к стандартной .

Ограничения

  1. Исходное ограничение , записанное в виде неравенства типа = ( =) ,


можно представить в виде равенства , прибавляя остаточную переменную к левой части ограничения ( вычитая избыточную переменную из левой части ) .
Например , в левую часть исходного ограничения
5X1 + 100X2 = 1000
вводистя остаточная переменная S1 0 , в результате чего исходное неравенство обращается в равенство
5X1 + 100X2 + S1 = 1000 , S1 = 0
Если исходное ограничение определяет расход некоторого ресурса , переменную S1 следует интерпретировать как остаток , или неиспользованную часть , данного ресурса .
Рассмотрим исходное ограничение другого типа :
X1 - 2X2 = 0
Так как левая часть этого ограничения не может быть меньше правой , для обращения исходного неравенства в равенство вычтем из его левой части избыточную переменную S2 0 . В результате получим
X1 - 2X2 - S2 = 0 , S2 = 0

  1. Правую часть равенства всегда можно сделать неотрицательной , умножая оби части на -1 .

Например равенство X1 - 2X2 - S2 = 0 эквивалентно равенству - X1 + 2X2 + S2 = 0

  1. Знак неравенства изменяется на противоположный при умножении обеих частей на -1 .

Например можно вместо 2 4 записать - 2 - 4 , неравенство X1 - 2X2 = 0 заменить на - X1 + 2X2 = 0

Переменные

Любую переменную Yi , не имеющую ограничение в знаке , можно представить как разность двух неотрицательных переменных : Yi=Yi-Yi, где Yi,Yi=0.
Такую подстановку следует использовать во всех ограничениях , которые содержат исходную переменную Yi , а также в выражении для целевой функции .
Обычно находят решение задачи ЛП , в котором фигурируют переменные Yi и Yi , а затем с помощью обратной подстановки определяют величину Yi . Важная особенность переменных Yi и Yi состоит в том , что при любом допустимом решении только одна из этих переменных может принимать положительное значение , т.е. если Yi0 , то Yi=0, и наоборот . Это позволяет рассматривать Yi как остаточную переменную , а Yi - как избыточную переменную , причем лишь одна из этих переменных может принимать положительное значение . Указанная закономерность широко используется в целевом программировании и фактически является предпосылкой для использования соответсвующих преобразований в задаче 2.30

Целевая функция

Целевая функция линейной оптимизационной модели , представлена в стандартной форме , может подлежать как максимизации , так и минимизации . В некоторых случаях оказывается полезным изменить исходную целевую функцию . Максимизация некоторой функции эквивалентна минимизации той же функции , взятой с противоположным знаком , и наоборот . Например максимизация функции
Z = X1 + 25X2
эквивалентна минимизации функции
( -Z ) = -X1 - 25X2
Эквивалентность означает , что при одной и той же совокупности ограничений оптимальные значения X1 , X2 , в обоих случаях будут одинаковы . Отличие заключается только в том , что при одинаковых числовых значениях целевых функций их знаки будут противоположны .
Симплекс-метод .
В вычислительной схеме симплекс-метода реализуется упорядоченный процесс , при котором , начиная с некоторой исходной допустимой угловой точки ( обычно начало координат ) , осуществляются последовательные переходы от одной допустимой экстремальной точки к другой до тех пор , пока не будет найдена точка , соответствующая оптимальному решению .
Общую идею симплекс-метода можно проиллюстрировать на примере модели , посроенной для нашей задачи . Пространство решений этой задачи представим на 1 . Исходной точкой алгоритма является начало координат ( точка А на 1 ) . Решение , соответствующее этой точке , обычно называют начальным решением . От исходной точки осуществляется переход к некоторой смежной угловой точке .
Выбор каждой последующей экстремальной точки при использовании симплекс-метода определяется следующими двумя правилами .

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

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

Геометрическое определение Алгебраическое определение ( симплекс метод )
Пространство решений Ограничения модели стандартной формы
Угловые точки Базисное решение задачи в стандартной форме

Представление пространства решений стандартной задачи линейного программирования .
Линейная модель , построенная для нашей задачи и приведенная к стандартной форме , имеет следующий вид : Максимизировать
Z = X1 + 25X2 + 0S1 + 0S2 При ограничениях 5X1 + 100X2 + S1 = 1000
- X1 + 2X2 + S2 = 0
X1=0 , X2=0 , S1=0 , S2=0
Каждую точку пространства решений данной задачи , представленную на 1 , можно определить с помощью переменных X1 , X2 , S1 и S2 , фигурирующими в модели стандартной формы. При S1 = 0 и S2 = 0 ограничения модели эквивалентны равенствам , которые представляются соответствующими ребрами пространства решений . Увеличение переменных S1 и S2 будет соответствовать смещению допустимых точек с границ пространства решений в его внутреннюю область. Переменные X1 , X2 , S1 и S2 , ассоциированные с экстремальными точками А , В , и С мож но упорядочить , исходя из того , какое значение ( нулевое ил и ненулевое ) имеет данная переменная в экстремальной точке .

Экстремальная точка Нулевые переменные Ненулевые переменные
А S2 , X2 S1 , X1
В S1 , X2 S2 , X1
С S1 , S2 X1 , X2

Анал из ируя табл ицу , легко замет и ть две закономерности: 1. Стандартная модель содерж ит два уравнения и четыре
неизвестных , поэтому в каждой из экстрем альных точек две ( = 4 - 2 ) переменны е должны иметь нулевые значения .
2. Смежные экстремальные точки отличаются только од но й пе-
ременной в каждой группе ( нулевых и не нул евых переменных ) ,
Первая закономерность с видетельствует о возможности опре-
деления экстремальных точек алгебраическ им способом путем пр и-
равнивания нулю такого кол ичества пер еменных , которое равно
разност и между количеством неизвестных и ч ислом уравнений .
В этом состо ит сущ ность свойства однозн ачности экстремальных
точек . На р ис. 1 каждой неэкстремальной точке соответствует
не более одной нулевой переменной . Так , любая точка внутренней
области пространства решений вообще не имеет ни одной нулевой
переменной, а любая неэкстремальная точка , лежащая на границе ,
всегда имеет лишь одну нулевую переменную .
Свойство однозначности экстремальных точек позволяет опре-
делить их алгебраическим методом. Бу дем сч итать , что линейная
модель стандартной формы содерж ит т уравнен ий и п ( т = п ) не-
известных ( правые части ограничений неотр ицательные ) . Тогда
все допустимые экстремальные точ ки о пред еляются как все одно-
значные неотрицательные решения с истемы m уравнен ий , в ко-
торых п m п еременных равны нулю.
Однозначные решения такой системы уравнений, получаемые
путем приравн ивания к нулю ( п т ) переменных , называются
базисными решениями . Если базисное реш ение удовлетворяет
требованию неотрицательност и правых частей , оно называется
допустимым базисным решением. Переменные , имеющие нулевое
значение , называются небазисными переменными , остальные
базисными переменными.
Из выше изложенного следует , что пр и р еал изац ии с им плекс-
метода алгебраическо е о пределен ие ба зисных решен ий соответст-
вует идент иф икации экстремальных точек , осуществляемой при
геометрическом представлении пространства решений . Таким об -
разом , максимальное число итерац ий при использовании симплекс-
метода равно максимальному числу баз исных решен ий задачи ЛП ,
представленной в стандартной форме . Это означает , что количество
итерац ионных процедур с импл екс-метода н е превышает
Cпт= n! / [ ( n - m )!m! ]
Вторая из ран ее отмеченных законом ер ностей оказывается
весьма пол езной для построения вычислит ельных процедур симп-
лекс-метода , при реал иза ции которого осуществляется последова -
тельный пер еход от одной экстр емально й точк и к другой, смежной с ней . Так как смежные экстр емальны е точ ки отличаются только
одной перемен ной, можно определить каждую последующую ( смеж-
ную) экстремальную точку путем зам ены одной из текущих не-
базисных ( нулевых ) переменных текущей базис ной переменной.
В нашем случае получено решение , соотв етствующее точке А , откуда следует осуществить переход в точку В . Для этого нужн о увел ичи вать небазисную переменную X2 от исходного нулевого з наче ния до значе-
ния , соответствующего точке В ( см. 1 ). В точке B переменная
S1 ( которая в точке А была баз исной ) автоматически обращается в
нуль и , следовательно , стано вится небазисной переме нной . Таким
образом , между множеством небазисных и множеств ом базисных
переменных происходит взаимообмен перем енными X2 и S1 . Этот
процесс можно нагляд но пред став ить в виде следующей таблицы.

Экстремальная точка Нулевые переменные Ненулевые переменные
А S2 , X2 S1 , X1
В S1 , X2 S2 , X1

Применяя аналогичную процедуру ко всем экстремальным точкам
1 , можно убедиться в том , что любую последующую экстре-
мальную точку всегда можно определить путем взаимной замены
по одной переменной в составе базисных и небазисных переменных
( предыдущей смежной точки ) . Этот фактор существенно упрощает
реализацию вычислительных процедур симплекс-метода. Рассмотренный процесс взаимной замены переменных приводит
к необходимости введения двух новых терминов . Включаемой пе-
ременной называется небазисная в данный момент переменная ,
которая будет включена в множество базисных переменных на сле-
дующей итерации ( при переходе к смежной экстремальной точке ) .
Исключаемая переменная это та базисная переменная , которая
на следующей итерации подлежит исключению из множества ба-
зисных переменных .

Вычислительные процедуры симплекс-метода .


симплекс-алгоритм состоит из следующих шагов. Шаг 0. Используя линейную модель стандартной формы , опреде-
ляют начальное допустимое базисное решение путем приравнива-
ния к нулю п т ( небазисных ) переменных.
Шаг 1. Из числа текущих небазисных ( равных нулю ) перемен-
ных выбирается включаемая в новый базис переменная , увеличение
которой обеспечивает улучшение значения целевой функции. Если
такой переменной нет , вычисления прекращаются , так как текущее
базисное решение оптимально . В противном случае осуществляется
переход к шагу 2.
Шаг 2. Из числа переменных текущего базиса выбирается исклю-
чаемая переменная , которая должна принять нулевое значение ( стать
небазисной ) при введении в состав базисных новой переменной .
Шаг 3. Находится новое базисное решение , соответствующее
новым составам небазисных и базисных переменных . Осуществляется переход к шагу 1.
Поясним процедуры симплекс-метода на примере решения нашей зада-
чи . Сначала необходимо представить целевую функцию и ограничения модели в стандартной форме:
Z - X1 - 25X2 +0S1 -0S2 = 0 ( Целевая функция )
5X1 + 100X2 + S1 = 1000 ( Ограничение )
-X1 + 2X2 + S2 = 0 ( Ограничение )
Как отмечалось ранее , в качестве начального пробного решения
используется решение системы уравнений , в которой две переменные принимаются равными нулю . Это обеспечивает единст-
венность и допустимость получаемого решения . В рассматриваемом
случае очевидно, что подстановка X1 = X2 = 0 сразу же приводит к следующему результату: S1 = 1000 , S2 = 0 ( т. е. решению , соответствующему точке А на 1 ) . Поэтому точку А можно использовать как начальное допустимое решение . Величина Z в этой точке равна нулю , так как и X1 и X2 имеют нулевое значение . Поэтому , преобразовав уравнение целевой функции так , чтобы его правая часть стала равной нулю , можно убедиться в том , что правые части уравнений целевой функции и ограничений полностью характеризуют начальное решение . Это имеет место во всех случаях , когда начальный базис состоит из остаточных переменных.
Полученные результаты удобно представить в виде таблицы :

Базисные переменные Z X1 X2 S1 S2 Решение
Z 1 -1 - 25 0 0 0 Z - уравнение
S1 0 5 100 1 0 1000 S1 -уравнение
S2 0 -1 2 0 1 0 S2 - уравнение


Эта таблица интерпретируется следующим образом. Столбец
" Базисные переменные " содержит переменные пробного базиса S1 ,
S2 , значения которых приведены в столбце " Решение " . При
этом подразумевается , что небазисные переменные X1 и X2 ( не пред-
ставленные в первом столбце ) равны нулю . Значение целевой функ-
ции Z = 1*0 + 25*0 + 0*1000 + 0*1 равно нулю , что и показано в последнем столбце таблицы .
Определим , является ли полученное пробное решение наи-
лучшим ( оптимальным ) . Анализируя Z - уравнение , нетрудно заме-
тить , что обе небазисные переменные X1 и X2 , равные нулю , имеют
отрицательные коэффициенты . Всегда выбирается переменная с большим абсолютным значением отрицательного коэффициента ( в Z - уравнении ) , так как практический опыт вычислений показывает , что в этом случае оптимум достигается быстрее .
Это правило составляет основу используемого в вычислительной
схеме симплекс-метода условия оптимальности , которое состоит в
том , что , если в задаче максимизации все небазисные переменные в
Z - уравнении имеют неотрицательные коэффициенты , полученное пробное решение является оптимальным . В противном случае в ка-
честве новой базисной переменной следует выбрать ту , которая имеет
наибольший по абсолютной величине отрицательный коэффициент .
Применяя условие оптимальности к исходной таблице , выберем
в качестве переменной , включаемой в базис , переменную Х2 . Исклю-
чаемая переменная должна быть выбрана из совокупности базисных
переменных S1 , S2 . Процедура выбора исключаемой переменной предполагает проверку условия допустимости , требующего , чтобы в качестве исключаемой переменной выбиралась та из пере-
менных текущего базиса , которая первой обращается в нуль при уве-
личении включаемой переменной X2 вплоть до значения , соответствующего смежной экстремальной точке .
Интересующее нас отношение ( фиксирующее искомую точку пе-ресечения и идентифицирующее исключаемую переменную ) можно
определить из симплекс-таблицы. Для этого в столбце , соответствующем вводимой переменной X2 , вычеркиваются отрицательные и нулевые элементы ограничений . Затем вычисляются отношения постоянных , фигурирующих в правых частях этих ограничений , к оставшимся элементам столбца , соответствующего вводимой переменной X2 . Исключаемой переменной будет та переменная текущего базиса , для которой указанное выше отношение минимально.
Начальная симплекс-таблица для нашей задачи , получаемая после проверки условия допустимости ( т. е. после вычисления соответствующих отношений и определения исключаемой переменной ) , воспроизведена ниже . Для удобства описания вычислительных процедур , осуществляемых на следующей итерации , введем ряд необходимых определений . Столбец симплекс-таблицы , ассоциированный с вводимой переменной , будем называть ведущим столбцом . Строку , соответствующую исключаемой переменной , назовем ведущей строкой ( уравнением ) , а элемент таблицы , находящийся на пересечении ведущего столбца и ведущей строки , будем называть ведущим элементом .
После того как определены включаемая и исключаемая пере-
менные ( с использованием условий оптимальности и допустимости ) ,
следующая итерация ( поиск нового базисного решения ) осуществля-
ется методом исключения переменных , или методом Гаусса Жордана . Этот процесс изменения базиса включает вычислительные процедуры двух типов .
Тип 1 ( формирование ведущего уравнения ) .
Новая ведущая строка = Предыдущая ведущая строка / Ведущий элемент
Тип 2 ( формирование всех остальных уравнений , включая Z - yравнение ) .
Новое уравнение = Предыдущее уравнение
Коэффициент
ведущего столбца * ( Новая ведущая строка ) .
предыдущего
уравнения
Выполнение процедуры типа 1 приводит к тому , что в новом
ведущем уравнении ведущий элемент становится равным единице .
В результате осуществления процедуры типа 2 все остальные коэф-
фициенты , фигурирующие в ведущем столбце , становятся равными
нулю . Это эквивалентно получению базисного решения путем ис-
ключения вводимой переменной из всех уравнений , кроме ведущего .
Применяя к исходной таблице процедуру 1 , мы делим S2 - уравнение на ведущий элемент , равный 1 .

Базисные переменные Z X1 X2 S1 S2 Решение
Z
S1
S2 0 -1/2 1 0 1/2 0

Чтобы составить новую симплекс-таблицу , выполним необходимые вычислительные процедуры типа 2 . 1. Новое Z - уравнение .
старое Z - уравнение : ( 1 -1 -25 0 0 0 )
( - ( -25 ) * ( 0 -1/2 1 0 1/2 0 )
( 1 -131/2 0 0 121/2 0 )

  1. Новое S1 - уравнение

старое S1 - уравнение : ( 0 5 100 1 0 1000 )
( - 100 ) * ( 0 -1/2 1 0 1/2 0 )
( 0 55 0 1 -50 1000 ) Новая симплекс-таблица будет иметь вид :

Базисные переменные Z X1 X2 S1 S2 Решение
Z 1 -131/2 0 0 121/2 0 Z - уравнение
S1 0 55 0 1 -50 1000 S1 -уравнение
X2 0 -1/2 1 0 1/2 0 X2 - уравнение


В новом решении X1 = 0 и S2 = 0 . Значение Z не изменяется .
Заметим , что новая симплекс-таблица обладает такими же ха-
рактеристиками , как и предыдущая : только небазисные переменные
X1 и S2 равны нулю , а значения базисных переменных , как и раньше ,
представлены в столбце " Решение " . Это в точности соответствует
результатам , получаемым при использовании метода ГауссаЖор-
дана .
Из последней таблицы следует , что на очередной итерации в со-
ответствии с условием оптимальности в качестве вводимой перемен-
ной следует выбрать X1 , так как коэффициент при этой переменной в



Содержание раздела