Решение задач линейного программирования

Решение задач линейного программирования

Г О С К О М В У З

ДОНСКАЯ Муниципальная АКАДЕМИЯ СЕРВИСА

(ДГАС)

ЛАБОРАТОРНЫЕ РАБОТЫ № 1, 2

“ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ”

Часть II

<>

Созданы для студентов второго

Курса всех специальностей

ШАХТЫ

СОСТАВИТЕЛИ

Доцент кафедры арифметики ДГАС,

Кандидат физико–математических наук Мальцев И.М.

Помощник кафедры арифметики ДГАС Лыткина С.С.

РЕЦЕНЗЕНТЫ

Доцент кафедры математического анализа РГУ,

Кандидат физико–математических наук Мелихов Решение задач линейного программирования С.Н.

Доцент кафедры арифметики ДГАС,

Кандидат физико–математических наук Шрайфель И.С.

Методические указания созданы для выполнения практических и лабораторных работ по разделам “Математическое программирование” и “Экономико-математические способы и модели”. Они содержат теоретическую часть, примеры построения моделей, личные задания, контрольные вопросы и описание компьютерных программ, входящих в пакет Решение задач линейного программирования лабораторного практикума “MATH_LAB” кафедры арифметики ДГАС и созданных для решения задач линейного программирования симплекс-методом и измененным симплекс-методом. Изложены базы теории двойственности и анализа моделей на чувствительность.

СОДЕРЖАНИЕ

Часть I

Введение
1. Теоретическая часть
1.1. Постановка задач линейного программирования
1.2. Преобразование задачки линейного программирования к стандартной форме
1.3. Базы симплекс-метода
1.3.1. Способ искусственных Решение задач линейного программирования переменных
1.3.2. Двухэтапный симплекс-метод
1.3.3. Переход к новенькому допустимому решению
1.3.4. Задачки минимизации
1.3.5. Особенные случаи внедрения симплекс-метода
1.3.6. Разновидности симплекс-таблиц
1.4. Измененный симплекс-метод
1.5. Описание учебной программки решения общей задачки линейного программирования измененным симплекс-методом
1.6. Особенности работы с коммерческими пакетами
1.6.1. Хранение
1.6.2. Ошибки округления
1.6.3. Контроль роста ошибок
1.6.4. Допуски на ошибку
Перечень использованных Решение задач линейного программирования и рекомендуемых источников

Часть II

1.7. Двойственность и анализ моделей на чувствительность
2. Описание программ
3. Лабораторная работа №1. Решение задач линейного программирования геометрическим способом
3.1. Цель работы
3.2. Задание
3.3. Содержание отчета
3.4. Пример выполнения работы
4. Лабораторная работа №2. Решение задач линейного программирования симплекс-методом и измененным симплекс-методом
4.1. Цель работы
4.2. Задание
4.3. Содержание отчета
4.4. Пример выполнения Решение задач линейного программирования лабораторной работы №2
5. Расчетные задания для выполнения лабораторной работы №1
6. Расчетные задания для выполнения лабораторной работы №2
7. Контрольные вопросы
Перечень использованных и рекомендуемых источников

Задачки ИССЛЕДОВАHИЯ ОПЕРАЦИЙ

В РАСЧЕТАХ HА ЭВМ

Обмозгуй стезю для ноги

твоей,

и все пути твои да будут

тверды.

Ветхий завет. Книжка притчей Соломоновых.

1.7. Двойственность и анализ моделей на чувствительность. Понятие двойственности в Решение задач линейного программирования линейном программировании имеет как принципиальное теоретическое, так и огромное практическое значение. Соотношения двойственности позволяют проводить действенный анализ моделей на чувствительность к изменениям начальных данных (цен, припасов ресурсов, технологии производства и т.п.).

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

то соответственная ей двоякая задачка:

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

Допустим Решение задач линейного программирования, что ровная задачка приведена к стандартной форме (см. ч. I, стр. 14-17), которая имеет вид:

Для удобства формулировки правил перехода от прямой к двоякой задачке, расположим коэффициенты, фигурирующие в критериях прямой задачки, в виде таблицы 1. В ней дана схема перехода от прямой задачки к двоякой, которая выражается последующими правилами:

· каждому ограничению Решение задач линейного программирования прямой задачки соответствует переменная двоякой задачки;

· каждой переменной прямой задачки соответствует ограничение двоякой задачки;

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


Переменные прямой задачки
x1 x2 ¼ xj ¼ xn
Правые части ограничений двоякой задачки c1 c2 ¼ cj ¼ cn
Коэффициенты левых частей ограничений двоякой задачки a11 a21 … am1 a12 a22 … am2 ¼ ¼ ¼ ¼ a1j a2j … amj ¼ ¼ &frac Решение задач линейного программирования14; ¼ a1n a2n … amn b1 b2 … bm y1 y2 … ym Переменные двоякой задачки
­ ­
j-ое ограничение двоякой задачки Коэффициенты мотивированной функции двоякой задачки

Таблица 1.

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

Ровная задачка в Двоякая задачка
стандартной Решение задач линейного программирования форме Мотивированная функция Мотивированная функция Ограничения Переменные
MAX MIN ³ Не ограничены в знаке
MIN MAX £ Не ограничены в знаке

Таблица 2.

Разглядим примеры построения двояких задач.

Пример 1.7.1. Ровная задачка:

Ровная задачка в стандартной форме:

Двоякая задачка:

y1,y2 не ограничены в знаке

либо, что то же,

y1,y2 ³ 0.

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

Ровная: Двоякая:

Ровная: Двоякая:

x1 не ограничена в знаке, x2 ³ 0. y1 не ограничена в знаке,

y2 £ 0, y3 ³ 0.

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

Аксиома 1.7.1. Двоякая задачка к двоякой есть ровная задачка.

Аксиома 1.7.2.Значение максимизируемой (минимизируемой) функции Решение задач линейного программирования y, соответственное хоть какому допустимому решению прямой задачки, не больше (не меньше) значения функции z, соответственного допустимому решению двоякой задачки. В точках, соответственных хорошим решениям обеих задач, значения мотивированных функций прямой и двоякой задач совпадают.

Из этой аксиомы следует принципиальный с практической точки зрения вывод: если нам удалось отыскать Решение задач линейного программирования какие-либо допустимые решения прямой и двоякой задач с надлежащими значениями мотивированных функций y0 и z0, то рациональные значения мотивированных функций обеих задач совпадают и находятся в промежутке меж y0 и z0. Это можно проиллюстрировать последующей схемой (y ® max, z ® min):

Процессы максимизации и минимизации сходятся к некой “точке равновесия Решение задач линейного программирования” B, после заслуги которой мотивированные функции задач сделать лучше нереально. Такая точка достигается при равенстве значений мотивированных функций обеих задач и соответствует их хорошим решениям.

Приведем формулировку очередной аксиомы, соответственной вырожденному случаю.

Аксиома 1.7.3. Если мотивированная функция начальной задачки не ограничена в области допустимых планов, то условия двоякой задачки Решение задач линейного программирования противоречивы, т.е. область ее допустимых планов пуста.

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

· (значение мотивированной функции прямой задачки) = (значение мотивированной функции Решение задач линейного программирования двоякой задачки);

· (коэффициент при исходной базовой переменной в рациональном y-уравнении прямой задачки) = (левая часть соответственного ограничения двоякой задачки) - (правая часть соответственного ограничения двоякой задачки).

Получим, к примеру, решение прямой задачки из примера 1.7.1., воспользовавшись программкой MODSM_RV. Оно имеет вид:

11/02/96 11:43:04 MODSM_RV

Zmax = 1.07142857E+01

X[1] = 2.1428571429E+00 Res =–1.455E–11 M[1] = 0.00000000E Решение задач линейного программирования+00

X[4] = 8.5714285714E–01 Res =–2.728E–12 M[2] = 4.28571429E–01

M[3] = 7.14285714E–01

M[4] = 0.00000000E+00

Возлагаем надежды, вы осознаете, что программка выдает в качестве обозначения переменных —X[i], а для обозначения мотивированной функции употребляет буковку Z независимо от того, какую задачку вы решаете и как обозначили свои переменные и мотивированную функцию (так, в Решение задач линейного программирования принятых ранее обозначениях, следовало бы записать ymax = 10.7142857). Через M[i] тут обозначены коэффициенты мотивированной функции в хорошей симплекс-таблице. Лучшая симплекс-таблица выводится на монитор перед отображением результатов и может быть или написана на принтере, или сохранена в текстовом файле:

11/02/96 13:07:15

Заключительная итеpация

B[1;1] = 2.1428571429E+00

B[1;2] = 1.4285714286E-01

B[1;3] = 0.0000000000E+00

B[2;1] = 8.5714285714E-01

B Решение задач линейного программирования[2;2] =-1.4285714286E-01

B[2;3] = 1.0000000000E+00

B[3;1] = 1.0714285714E+01

B[3;2] = 7.1428571429E-01

B[3;3] = 0.0000000000E+00

Вобщем, в этом случае, для получения рационального решения двоякой задачки эта таблица не пригодится. Наилучшее значение мотивированной функции двоякой задачки совпадает с хорошим значением мотивированной функции прямой задачки, т.е. zmin = ymax = 10.7142857. Потому что в начальной стандартной модели первоначальными Решение задач линейного программирования базовыми переменными являлись x3 и x4, то получаем последующую таблицу для отыскания хороших значений двояких переменных (приведенные значения округлены):

Исходные базовые переменные прямой задачки x3 x4
Коэффициенты в рациональном y-уравнении 0.7142857 0
Разность меж левыми и правыми частями соответственного ограничения двоякой задачки. y1 - 0 y2- 0

Отсюда y1 = 0.7142857, y2 = 0. Решая двоякую задачку Решение задач линейного программирования при помощи компьютера, получим:

11/02/96 13:11:24 MODSM_RV

Zmin = 1.07142857E+01

X[4] = 4.2857142857E–01 Res = 0.000E+00 M[1] = 0.00000000E+00

X[1] = 7.1428571429E–01 Res = 0.000E+00 M[2] = 8.57142857E–01

M[3] = 2.14285714E+00

M[4] = 0.00000000E+00

M[5] = 1.00000000E+00

M[6] = 1.00000000E+00

Как лицезреем, результаты совпали. Попытайтесь сейчас по результатам двоякой задачки вернуть среднее решение прямой и, если вас не сделает труднее, удостоверьтесь, что хорошим Решение задач линейного программирования решением задачки двоякой к

является zmin = 54.8, y1 = 5.8, y2 = -0.4. При всем этом вам пригодится информация о том, каким конкретно образом программка приводит начальную модель к стандартной форме. Ее можно отыскать, вызвав в программке помощь (нажав кнопку ).

Итак, мы удостоверились, что для нахождения обоих решений – прямой и двоякой задач – довольно решить Решение задач линейного программирования одну из их. При всем этом лучше решать ту, которая имеет наименьшее количество ограничений (трудозатратность решения задачки линейного программирования симплекс-методом в большей мере находится в зависимости от количества базовых переменных, чем от их полного количества).

Способности, предоставляемые теорией ЛП и симплекс-методом, не ограничиваются только получением хороших значений переменных ЗЛП Решение задач линейного программирования. Решение задач ЛП должно обеспечивать юзера оживленной информацией. Как условия, в согласовании с которыми была построена модель, меняются, информация, ассоциированная со статическим хорошим решением, обычно сразу теряет актуальность. Анализ модели на чувствительность как раз и связан с исследованием вероятных конфигураций приобретенного рационального решения в итоге конфигураций начальной модели.

Для тех Решение задач линейного программирования, кто желает поглубже осознать идеи анализа модели на чувствительность, рекомендуем обратиться к методическим указаниям [2], где тщательно разобран геометрический смысл этого анализа.

Разглядим анализ моделей на чувствительность на примере задачки рассредотачивания ограниченных ресурсов с мотивированной функцией подлежащей максимизации:

Ровная задачка: Двоякая задачка:

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

y – прибыль от реализации всей произведенной продукции,

cj – прибыль, приходящаяся на единицу продукции j-го вида,

xj – объем производства продукции j-го вида,

aij – расход ресурса i, припасы которого ограничены величиной bi, на единицу продукции j-го вида производственной деятельности.

Беря во внимание, что в оптимуме значения Решение задач линейного программирования мотивированных функций прямой и двоякой задач совпадают, можем записать:

Потому что прибыль y выражается в валютных единицах, а bi – в единицах i-го ресурса, то yj должно выражаться в валютных единицах на единицу ресурса i. Таким макаром, переменные двоякой задачки представляют ценность ресурса i. Потому их Решение задач линейного программирования время от времени именуют теневыми ценами. Отсюда следует, что для роста рационального значения y следует повысить припас тех ресурсов, для которых yj > 0, и понизить припас ресурсов для которых yj < 0. Необходимо только держать в голове, что рост прибыли происходит до определенного уровня. Предстоящее изменение припаса ресурса не улучшает значения мотивированной Решение задач линейного программирования функции.

Проведение последующих рассуждений основано на последующем представлении симплексных таблиц [2, стр. 21]:


Исходная итерация

Базовые переменные Решение
y 0 0
A E

Следующие итерации

Базовые переменные Решение
y

Тут – вектор исходных небазисных переменных, – вектор исходных базовых переменных, y – мотивированная функция, A – матрица коэффициентов ограничений при переменных в исходной симплекс-таблице, – коэффициенты при переменных в мотивированной Решение задач линейного программирования функции начальной симплекс-таблицы, – коэффициенты при переменных в мотивированной функции начальной симплекс-таблицы, E – единичная матрица, – вектор-столбец правых частей ограничений, – вектор базовых переменных на текущей итерации, – вектор коэффициентов начальной мотивированной функции при новых базовых переменных, – матрица, оборотная к матрице коэффициентов при переменных текущего базиса в ограничениях начальной Решение задач линейного программирования симплекс-таблицы.

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

,

где (ненулевой элемент стоит на i-ом месте). Если набор базовых переменных в рациональном решении не меняется, т.е. новое решение остается допустимым, то не меняется ни оборотная матрица , ни элементы y-строки (исключение составляет только наилучшее значение мотивированной Решение задач линейного программирования функции), а, как следует, теневые цены остаются прежними. В свою очередь, решение будет допустимым при условии, что все его составляющие неотрицательны, другими словами . В координатной форме это неравенство переписывается как система неравенств: , где элемент k-ой строчки i-го столбца матрицы . Если решением этой системы относительно , является Решение задач линейного программирования просвет , то промежутком варианты припаса i-го ресурса, обеспечивающим всепостоянство теневых цен ресурсов, является . Заметим, что если посреди частей есть как положительные, так и отрицательные, то значения можно отыскать по формулам:

(Обоснуйте это!)

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

Более принципиальное значение имеет анализ модели, связанный с конфигурацией удельной прибыли, которое, в свою очередь, связано с колебанием рыночных цен на продукцию и сырье. Вопрос ставится так: каковы вероятные колебания удельной прибыли, не приводящие к изменению Решение задач линейного программирования рационального плана?

Для ответа на этот вопрос воспользуемся видом хорошей симплекс-таблицы (см. выше). Из него следует, что текущее решение остается хорошим, если коэффициенты мотивированной функции при небазисных переменных в рациональном решении останутся неотрицательными. Если меняется удельная прибыль ck от реализации продукции k-го вида на величину Dck и переменная Решение задач линейного программирования xk заходит в базис оптимума, то просвет конфигурации Dck определяется системой неравенств, , где коэффициенты хорошей y-строки при небазисных переменных, надлежащие элементы xk-строки заключительной симплекс-таблицы. Если xk не заходит в базис оптимума, то хоть какое изменение коэффициента мотивированной функции при небазисной переменной приводит только к тому, что в Решение задач линейного программирования заключительной симплекс-таблице меняется только этот коэффициент, при этом на величину -Dck. Потому условие оптимальности решения не нарушится, если .

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

Правило 100% (для коэффициентов мотивированной функции). Если выполнено неравенство , где dcj- фактическое изменение коэффициента мотивированной функции при переменной xj , а Dcj*- соответственная граница промежутка конфигурации Dcj , приобретенная в итоге анализа на чувствительность (левая, при dcj<0, либо правая, при dcj>0), то среднее решение задачки не изменяется.

Правило 100% (для правых частей ограничений). Если выполнено неравенство Решение задач линейного программирования , где dbi- фактическое изменение правой части i-го ограничения, а Dbi*- соответственная граница промежутка конфигурации Dbi , приобретенная в итоге анализа на чувствительность, то виды продукции в рациональном решении остаются постоянными, теневые цены также не изменяются, а наилучшее решение и величина наибольшей прибыли меняются. При всем этом изменение рационального дохода Решение задач линейного программирования можно найти, используя теневые цены (задумайтесь, как это сделать при помощи соотношений двойственности).

Допустим, что мы желаем добавить в модель новый вид производственной деятельности (решили создавать новейшую продукцию при тех же ресурсах). В данном случае нужно принять решение о необходимости такового шага, другими словами найти, принесет ли это дополнительную прибыль Решение задач линейного программирования. Для соответственного анализа нужно установить расход ресурсов и прибыль, приходящиеся на единицу продукции, другими словами задать новые значения cn+1 и ai,n+1, . Тогда соответственное новейшей переменной xn+1 ограничение двоякой задачки воспримет вид . Считая переменную xn+1 небазисной, заключаем, что двоякие оценки не поменяются. Потому коэффициент при новейшей переменной в Решение задач линейного программирования измененной симплекс-таблице будет равен . Если он отрицателен, то среднее решение может быть усовершенствовано и, как следует, новейшую продукцию выпускать целенаправлено. В неприятном случае добавление нового вида производственной деятельности не принесет дополнительной прибыли.

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

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

Подводя результат, отметим, что анализ модели на чувствительность позволяет правильно реагировать, к примеру, на последующие обычные ситуации:

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

· отдел сбыта предсказывает рост (падение) объема сбыта некой продукции в последующем квартале;

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

· денежный отдел предсказывает понижение цен на продукцию вследствие обострения конкуренции;

· хозяйственный отдел изыскал возможность дополнительного приобретения ресурсов;

· отдел исследовательских работ и разработок предлагает ввести создание нового вида продукции;

· отдел сбыта сделал вывод о нецелесообразности поставок продукции данного Решение задач линейного программирования вида в определенный регион;

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

Предложите собственный план действий в обозначенных ситуациях.

2[И1] . Описание пpогpамм

Hиже описаны программки SM_RV и MODSM_RV, созданные для решения задач линейного пpогpаммиpования. Варианты этих пpогpамм, доступные из пакета Решение задач линейного программирования лабоpатоpного практикума кафедры арифметики ДГАС, имеют ограниченные способности по pазмеpности решаемых задач, достаточные для выполнения учебных заданий. Пpи необходимости решения задач огромных pазмеpностей, напpимеp, пpи куpсовом либо дипломном пpоектиpовании, можно пользоваться pасшиpенными версиями, обратившись на кафедру арифметики ДГАС к pазpаботчику.

Работа обеих пpогpамм снаружи сходна. Различие состоит в методах расчетов. В программке Решение задач линейного программирования SM_RV реализован обыденный симплекс-метод, а в MODSM_RV- измененный. С практической точки зрения удобнее использовать измененный симплекс-метод, так как он отличается более экономичным методом расчетов. Но, пpи использовании обыденного симплекс-метода может быть получено другое решение, что возможно окажется полезным с практической точки зрения Решение задач линейного программирования.

Имя: S M _ R V Веpсия: 2.0 Дата: 25.04.95 405048 15:05:30 И H Ф О Р М А Ц И Я Донская Муниципальная Академия Сервиса Эта пpогpамма написана на Microsoft`s Borland Pascal 7.0 с Turbo Professional Library 5.0 Мальцевым Игоpем Михайловичем Hажмите всякую кнопку для пpодолжения F1 Помощь Alt-XВыход

Рис. 1

Пуск пpогpамм осуществляется методом выбоpа Решение задач линейного программирования пт Operations из головного меню менеджеpа пpогpамм (жмем кнопку <O>). Дальше выбиpается или пункт sM_rv, или moDsm_rv из подменю. Пpи этом пpоизойдет загpузка в память ЭВМ соответственной пpогpаммы. Поначалу на монитоpе возникает окно с кpаткими сведениями о пpогpамме (pис.1). Если Вы желаете получить дополнительную информацию, нажмите кнопку Решение задач линейного программирования помощи . Пpи этом появится окно помощи с текущей информацией. Для вызова справочника помощи нужно еще pаз надавить кнопку . Выход из справочника осуществляется нажатием кнопки . Чтоб выйти из программки, нажмите комбинацию кнопок . Нажатие хоть какой другой кнопки продолжит работу программки (рис. 2).

Имя: S M _ R V Веpсия: 2.0 Дата: 25.04.95 405504 15:08:56 Ввод Выводить пpомежуточные pезультаты Решение задач линейного программирования ? [N] Hет Решается задачка на минимум ? [Y] min Количество огpаничений вида ">=" 1 Количество огpаничений вида "=" 0 Количество огpаничений вида "<=" 2 Количество пеpеменных модели 3 F1 Помощь Alt-X Выход

Рис. 2. Характеристики модели

Поначалу нужно выбpать pежим pаботы: с выводом пpомежуточных pезультатов либо без него. В пеpвом случае на монитоp будет выводится текущая Решение задач линейного программирования симплекс-таблица после каждого шага симплекс-метода. В пpотивном случае pасчеты будут вестись до окончательного pезультата. (По дефлоту выбиpается ответ, обозначенный в квадpатных скобках: [N]- pасчеты без пpомежуточных pезультатов.) Дальше указывается тип задачки (задачка на максимум либо минимум), запpашивается количество огpаничений каждого вида и количество переменных модели. Если Решение задач линейного программирования в наборе допущена ошибка, то ее можно поправить, возвратившись вспять при помощи кнопки перемещения куpсоpа ввысь (начиная с третьего пт). Кроме этого, по окончании ввода возникает запрос на продолжение работы. Если он не подтверждается, то происходит возврат к вводу начальных данных. В неприятном случае возникает запрос на считывание матрицы данных из Решение задач линейного программирования файла.

Пpи положительном ответе запрашивается маска, в какой идентифицируются нужные файлы данных. Hапpимеp, если нужно вызвать все файлы с pасшиpением DAT из каталога DATE, то довольно надавить кнопку . Пpи этом на монитоp будут выведены имена всех нужных файлов. Hужный файл выбиpается кнопками пеpемещения куpсоpа с следующим нажатием Решение задач линейного программирования [1]. Принципиально, чтоб вызываемый файл был сохpанен pанее из применяемой пpогpаммы и имел подходящий фоpмат. В пpотивном случае или появится сообщение о невеpном фоpмате данных (если данных очевидно не хватает), или будут считаны данные большего фоpмата, что может пpивести к непpиятностям. Пpи отpицательном ответе на монитоpе появится нулевая матpица начальных данных Решение задач линейного программирования.

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

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

Hапpимеp, для задачки

z=3x 1+2x2 -3x3+ 5x4 ® max

матpица данных смотрится последующим обpазом:


Такую структуру она обязана иметь на монитоpе.

После ввода Решение задач линейного программирования последнего элемента либо пpи нажатии кнопки возникает запpос о начале вычислений. Дальше запpашивается подтвеpждение на сохpанение начальных данных в файле. Если в сохpанении нет необходимости, то необходимо надавить кнопку . В пpотивном случае нажимается или кнопка , или . Пpи этом появится маска, запpашивающая название файла данных: DATE\*.DAT. Тут можно или пpосмотpеть имена имеющихся Решение задач линейного программирования файлов, нажав кнопку , или ввести конкpетное название файла, напpимеp, DATE\ IVANOV.DAT, и надавить . Возвpат к пpедыдущему пт осуществляется нажатием кнопки . После чего начинаются pасчеты в выбpанном pанее pежиме. Заметим, что пpомежуточные pезультаты целесообpазно пpосматpивать в тех случаях, когда Вы желаете pазобpаться в сущности вычислительных пpоцедуp симплекс-метода либо Решение задач линейного программирования если появляются пpоблемы, побуждающие выполнить пошаговые pасчеты. Почти всегда юзеров интеpесует окончательный pезультат, его точность и лучшая y-строка. Но для воплощения анализа приобретенного pешения нужно иметь оборотную базовую матрицу. Если расчеты осуществляются без просмотра промежных результатов, то сходу после окончания вычислений на монитор выводится лучшая Решение задач линейного программирования симплекс-таблица (рис. 3).


reshenie-uchebnoe-posobie-dlya-uchitelya-matematiki-i-ekonomiki.html
reshenie-uchenogo-soveta-gouvpo-mgtu-im-an-kosigina-polozhenie-o-razrabotke-uchebnih-planov-v-gosudarstvennom.html
reshenie-uchenogo-soveta-rgsu-ot-28-stranica-2.html