
- •Курсовой проект
- •1 Математическая модель
- •2 Теоретическая часть
- •2.1 Алгоритм метода искусственного базиса
- •2.2 Алгоритм симплекс-метода для задачи на минимум
- •2.3 Алгоритм метода Гомори
- •2.4 Алгоритм двойственного симплекс-метода
- •3 Описание интерфейса программы
- •4 Анализ модели на чувствительность
- •Приложение б результат работы программы
2.4 Алгоритм двойственного симплекс-метода
Ш0: Начинаем с симплексной таблицы
|
b |
|
… |
|
L |
|
|
… |
|
|
|
|
… |
|
. |
. |
… | ||
|
|
|
… |
|
где
.
Ш1:
Проверка на оптимальность. Если
,
то решение
- оптимальное.
Ш2:
Выбор ведущей строки. Выбираем среди
номеров i,
для которых
,
номерk
с максимальным по модулю значением:
.
Строка k
объявляется ведущей.
Ш3:
Проверка на неразрешимость. Если в
строке
нет отрицательных элементов, то
двойственная целевая функция неограничена
и, следовательно, прямая задача не имеет
допустимых решений. Процесс решения
завершается.
Ш4:
Выбор ведущего столбца s.
Выбираем среди отрицательных элементов
строки
элемент с номеромs,
для которого выполняется равенство :
.
Столбец s
объявляется ведущим, а элемент
- ведущим элементом.
Ш5: Проводим стандартное преобразование симплексной таблицы (Ш6 из прямого симплекс-метода).
3 Описание интерфейса программы
Главное окно программы изображено на рисунке 1.
Рисунок 1
Перед началом работы необходимо определить, каким образом будут производиться вычисления: с комментариями или без них. Чтобы включить комментарии необходимо поставить галочку у пункта «Показывать подсказки», находящегося в нижнем левом углу окна (рисунок 2).
Рисунок 2
Теперь программа готова принять исходные данные. С помощью поля со счетчиком укажите число уровней памяти и массивов информации. Появятся две таблицы, в которые нужно ввести все исходные данные (рисунок 3).
Рисунок 3
Теперь программа готова производить вычисления. Все вычисления производятся поэтапно: для начала необходимо нажать кнопку с надписью «1. Целевая функция и симплексная таблица для метода иск. базиса». Появятся две таблицы: первая отображает целевую функцию, а вторая – симплексную таблицу для решения методом искусственного базиса (рисунок 4).
Рисунок 4
Второй шаг – это решение ранее полученной симплексной таблицы методом искусственного базиса. Для этого необходимо нажать на кнопку с надписью «2. Метод иск. базиса». После этого появится окно, содержащее решенную методом искусственного базиса симплексную таблицу (рисунок 5) и сообщение о том, что все искусственные переменные вышли из базиса.
Рисунок 5
Третий шаг – это решение ранее полученной симплексной таблицы прямым симплекс-методом. Для этого необходимо нажать на кнопку с надписью «3. Симплекс-метод». После этого появится окно, содержащее решенную прямым симплекс-методом симплексную таблицу (рисунок 6) и сообщение о том, что оптимальное решение найдено.
Рисунок 6
Четвертый и последний шаг – это решение ранее полученной симплексной таблицы методом Гомори. Он не всегда является обязательным, так как часто на предыдущем шаге получается целочисленное решение. Если же решение не целочисленное, то необходимо нажать на кнопку с надписью «4. Отсечение Гомори». После этого появится окно, содержащее решенную методом Гомори симплексную таблицу (рисунок 7). Значения X в этой таблице и являются решением исходной задачи (например, на рисунке видно, что x21=1, x12=1, x22=0, x11=0 это означает что, второй массив информации помещен в первый тип памяти, а первый – во второй).
Рисунок 7
Если перед началом работы была поставлена галочка у пункта «Показывать подсказки», то во время вычислений будут появляться информационные окна, содержащие информацию о ведущих строках (столбцах), минимальных (максимальных) значениях и пр.