Реферат: Задача о коммивояжере

Расчет оценок. Блок "Верхняя оценка".

Этот блок позволяет выбрать метод расчета верхней оценки. При выборе третьего метода расчета ("Венгерский метод"), при решении автоматически устанавливается четвертый метод расчета нижней оценки ("Венгерский метод"). Значение по умолчанию - Венгерский метод.

Расчет оценок. Блок "Нижняя оценка".

Этот блок позволяет выбрать метод расчета нижней оценки. Какого-либо влияния на метод расчета верхней оценки выбор не оказывает. Значение по умолчанию - Венгерский метод.

Опции. Часы.

Данный пункт позволяет включить и выключить часы.

Опции. Звук.

Данный пункт позволяет включить и выключить звук.

Опции. Ввод.

Данный пункт позволяет задать ширину строки ввода при редактировании начальной матрицы задачи. Значение по умолчанию - 6.

Опции. Screen Saver.

Данный пункт позволяет задать время задержки срабатывания Screen Saver-а. Время указывается в минутах. Значение по умолчанию - 5 минут.

Опции. Сохранить опции.

Данный пункт позволяет запомнить состояние часов и звука в файле (Shadow.dsk).

Выход.

Данный пункт осуществляет выход из программы.

Описание программы

Структурно программа состоит из девяти модулей:

Процедуры, которые используются при решении задачи описаны ранее. Можно лишь добавить, что общее управление алгоритмом ветвей и границ осуществляется процедурой OverDrive в автоматическом режиме решения и процедурой StudyMode в обучающем режиме решения.

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

Модуль INOUT.PAS

Procedure MatrIn(var a : workmatr ; var sz : byte ; msize, diag : boolean);

Процедура ввода начальной матрицы условий. Передаваемые параметры:

var a : workmatr - указатель на матрицу (описана глобальной переменной).

var sz : byte - текущая размерность задачи (описана глобальной переменной).

msize : boolean - возможность изменения размеров матрицы (True - могут быть изменены).

diag : boolean - доступность главной диагонали (False - ввод на главной диагонали запрещен).

Procedure Inp (x, y, l : byte ; gg : char ; var qq : char ; var a : real ; var s : string ; st_r : boolean; scroll : boolean ; attrib : byte);

Процедура ввода строки с внутренним скроллингом. Передаваемые параметры:

x, y : byte - координаты начала строки ввода.

l : byte - ширина строки ввода.

К-во Просмотров: 664
Бесплатно скачать Реферат: Задача о коммивояжере