Курсовая работа: Системы принятия решений
где 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 – Первый шаг