Тип TNextResult описывает результат последней операции.
TNextResult = (nrFound=0, nrOporOk, nrOporFail, nrOptimOk, nrOptimFail, nrStackEmputy),
где nrFound – найдено решение;
nrOporOk – найден способ, как заменит базис, чтобы приблизиться к опорному решению;
nrOporFail – невозможно найти опорное решение, т.е. и вся задача не имеет решения;
nrOptimOk – найден способ, как заменит базис, чтобы приблизиться к оптимальному решению;
nrOptimFail – невозможно найти оптимальное решение, т.е. и вся задача не имеет решения;
nrStackEmputy – стек с историей о предыдущих ходах пуст, т.е. невозможно сделать шаг назад.
Клас TStack – стек, хранящий историю о сделанных шагах, позволяет откатить положение вычисления назад.
TIJ = record i, j: integer end;
TStack = class
top: integer;
stackIJ: array [0..1000] of TIJ;
end;
2.4.3 Методы класса TSimplex
Класс TSimplex имеет следующие методы:
– procedure newBase – позволяет перейти к новому базису, причем разрешающая строка и разрешающий столбец указывается в свойствах ir, jr;
– function next: TNextResult – находит следующий шаг к опрорному решению или если оно найдено к оптимальному решению, причем сохраняет в свойстве history проделанный путь;
– procedure back – возвращается на один шаг назад, используя свойство history.
2.5 Решение
На основе начальных данных математической модели нашей задачи (2.6), построим симплекс таблицу в соответствии с рисунком 2.1.
Рисунок 2.1 – Опорное решение
Т.к. свободные члены не отрицательные, то это опорное решение, на основе него мы получим оптимальное решение.
Т.к. есть коэффициенты в уравнении целевой функции, которые больше нуля, то решения не оптимально и поэтому надо перейти к новому базису.
Выберем разрешающим столбцом x1 т.к. коэффициентов целевой функции в этом столбце больше нуля и больше всех остальных положительных коэффициентов целевой функции, он равен 10.
Выберем разрешающей строкой y2 т. к. отношение свободного члена к числу в соответствующей строке и разрешающем столбце минимально и не отрицательно (0 / 0,6 = 0).
Выделим разрешающий столбец, строку и элемент.
Переедем к новому базису в соответствии с рисунком 2.2 по правилу, высчитывая новые коэффициенты по правилу прямоугольника:
Рисунок 2.2 – Первый шаг
Т.к. есть коэффициенты в уравнении целевой функции, которые больше нуля, то решения не оптимально и поэтому надо перейти к новому базису.
Выберем разрешающим столбцом x3 т.к. коэффициентов целевой функции в этом столбце больше нуля и больше всех остальных положительных коэффициентов целевой функции, он равен 13,66.
Выберем разрешающей строкой y4 т.к. отношение свободного члена к числу в соответствующей строке и разрешающем столбце минимально и не отрицательно (0 / 13,66 = 0).
Выделим разрешающий столбец, строку и элемент.
Переедем к новому базису в соответствии с рисунком 2.3 по правилу, высчитывая новые коэффициенты по правилу прямоугольника:
Рисунок 2.3 – Второй шаг
Т.к. есть коэффициенты в уравнении целевой функции, которые больше нуля, то решения не оптимально и поэтому надо перейти к новому базису.
Выберем разрешающим столбцом x2 т.к. коэффициентов целевой функции в этом столбце больше нуля и больше всех остальных положительных коэффициентов целевой функции, он равен 37.
Выберем разрешающей строкой y1 т.к. отношение свободного члена к числу в соответствующей строке и разрешающем столбце минимально и не отрицательно (500000 / 5 = 100000).
Выделим разрешающий столбец, строку и элемент.
Переедем к новому базису в соответствии с рисунком 2.4 по правилу, высчитывая новые коэффициенты по правилу прямоугольника:
Рисунок 2.4 – Оптимальное решение
Т.к. есть коэффициенты в уравнении целевой функции, которые больше нуля, то это решения оптимальное.
Ответ:
В данной курсовой я узнал об основе теории принятия решения, также научился находить решение задачи линейного программирования в общем случае.
Список используемых источников
1. Кремер Н.Ш., Путко Б.А. и др. Исследование операций в экономике. Учебное пособие. М.: Юнити, 1997
2. Федосеев В.В., Гармаш А.Н. и др. Экономико-математические методы и прикладные модели. М.: Юнити, 2001
3. Акулич И.Л. Математическое программирование в примерах и задачах. – М.:Высшая школа, 1986
4. Житников С.А., Биржанова З.Н. и др. Экономико-математические методы и модели. Караганда: издательство КЭУ, 1998
5. Замков О.О., Толстопятенко А.В. Математические методы в экономике. М.: ДИС, 1997
6. Колемаев В.А. Математическая экономика. М., 1998
7. Кузнецов Ю.Н., Кузубов В.И., Волощенко А.Б. Математическое программирование. М.: Высшая школа, 1998
8. Лопатников Л.И. Экономико-математический словарь. М.: Наука, 1987
9. Малыхин В.И. Математическое моделирование экономики. М., 1998
10. Мельник М.М. Экономико-математические методы в планировании и управлении материально-техническим снабжением. – М.: Высшая школа, 1990
11. Нусупбеков С.И., Устенова О.Ж. Математические методы моделирования экономических систем. Алматы: Эверо, 2002
12. Спирин А.А., Фомин Г.П. Экономико-математические методы и модели в торговле. – М.: Экономика, 1988