[Назад] [Содержание] [1] [2] [3] [4] [5]

Реализация симплекс-метода в случае отрицательных свободных членов.

Реализация алгоритма

Программа реализуется с применением модульного принципа.

Сначала программа при выборе отрытия файла загружает ссылку на файл.
После этого нижимаем кнопку запуска оптимизации.

Метод Load_From_File() читает содержимое файла и передает его на
обработку.
Метод Transponate_Matrix() транспонирует матрицу коэффициентов
путем простого переприсваивания элементов с заменой строк на 
столбцы.
После этого вызывается рекурсивный метод Step_Matrix, который собственно
и выполняет всю работу по оптимизации таблицы.

Рассмотрим метод подробнее.

Сначала определяется минимум по строке функции, т.е. определяется разрешающий столбец.
После этого рассчитывается оценочное отношение, причем используется 
очень простой принцип определения разных знаков при коэфффициентах:
если отношение меньше нуля, тогда записать в ячейку оценочного отношения
максимальное значение выбранного типа данных (Например для типа float 
таковой является MAXFLOAT). При этом вычислении совмещен поиск минимального
значения. 
По полученным координтам (разрешающий столбец и разрешающая строка)
определяется разрешающий элемент, на который будет делится разрешающая строка.

Новый массив заполняется точно также как на бумаге:
 сначала разрешающая строка делится на разрешющий элемент;
 потом согласно правилу прямоугольника рассчитываются значения всех
       остальных ячеек, причем даже ячейки заполняемые для неосновных
       переменных тоже заполняются правильно;
 меняем номера элемнтов в массиве базисов.
Копируем в старый массив новую матрицу.
Записываем в файл представление матрицы.
Проверяем является ли решение конечным
 да,  является, тогда выводим решение и прерываем рекурсию;
 нет, вызываем снова этот метод.

После возврата из основного метода загружаем в браузер 
сгенерированный файл и отображаем его в программе.


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

В программе представлены также методы вызова информации о программе,
а также загрузки материалов.

При написании программы и материалов были использованы следующие приложения

 Среда C++Builder 6, создание собственно программы.
  Была выбрана потому, что является самой удобной на мой взгляд для написания
  подобного приложения с минимальными накладными затратами времени. 
  Изначально код был написан на языке С++, который является идеальным для
  создания программ подобного рода. Среда же имеется очень удобный отладчик,
  благодаря которому отыскивать ошибки стало намного легче, чем в среде Borland C++ 3.1.
  Тем более, что можно создать подобное приложение быстро, используя стандартные компоненты.
 
 Image Editor, Microsoft Paint, создание графики, ярлыка, значков и кнопок.
 Far Menedger, операции с файлами, написание материалов.
 Iternet Explorer, просмотр результатов работы.


[Назад] [Содержание] [1] [2] [3] [4] [5] [Наверх страницы]