
- •Расчетно-пояснительная записка к курсовой работе
- •Содержание
- •1 Описание программы
- •1.1 Общие сведения
- •1.2 Функциональное назначение программы
- •1.3 Описание логической структуры программы
- •1.4 Используемые программные средства
- •1.5 Вызов программы
- •1.5.1 Способы вызова программы
- •1.5.2 Входные точки в программе
- •1.5.3 Сведения о методе
- •1.5.4 Решение задачи
- •1.6 Входные данные
- •1.7 Выходные данные
- •2 Руководство пользователю
- •Назначение программы
- •Условия выполнения программы
- •Выполнение программы
- •2.4Сообщения оператору
- •Список использованных источников
- •Приложение 1. Блок-схема
- •Help Приложение 2 Текст программы
1.4 Используемые программные средства
Данная программа не требует большого объема памяти для своего выполнения. Программа написана как Windows-приложениес не очень сложным дружественным интерфейсом. Кроме того, программа решает только одну задачу – задачу распределения задач между узлами в соответствии с выбранным критерием и ограничением.
Основной текст программы представлен в виде файла Unit1.pasи запускается вызовом файлаProject1.ехе.Исполняемый файл программы занимает около 450килобайт основной памяти. Основная программа вызывает в процессе своей работы один единственный модульUnit2.pas, который управляет дополнительным окном, необходимым для работы Project1.ехе.Сама программа написана в виде совокупности процедур и функций.
Для запуска программы необходимы следующие технические и операционные средства:
ПЭВМ, стандартной конфигурации, оснащенная манипулятором "мышь";
Оперативная память не менее 16Мб и свободного места на жестком диске не менее 500Кб,
Операционная система Windows 95и выше.
1.5 Вызов программы
1.5.1 Способы вызова программы
Для вызова программы можно воспользоваться одним из двух способов:
Для запуска из среды Delphi 6.0. необходимо в начале загрузить проект (Project1.dpr), а затем выбрать команду Run из основного меню программного продуктаDelphiили нажать Ctrl+F9;
Для запуска из системной оболочки Windowsнеобходимо выбрать файл Project1.ехе и нажать кнопкуEnterлибо два раза щелкнуть на выбранном файле левой кнопкой мыши.
1.5.2 Входные точки в программе
Для проведения вычислений необходимо ввести свои исходные данные. В данной программе существуют четыре точки ввода:
-количество задач;
-количество узлов;
-матрица времени;
-матрица затрат;
1.5.3 Сведения о методе
Для решения данного класса задач могут применяться следующие методы.
1) Методы линейного программирования (например, симплекс-метод). Использование этих методов может оказаться сложным из-за большого количества переменных (их количество равно I*J). Например, при распределении десяти задач между пятью элементами АС потребовалось бы 50 переменных.
2) Специализированные методы, разработанные специально для данных задач и обеспечивающие поиск точного оптимального решения. Недостатком этих методов является их низкая универсальность: незначительное изменение постановки задачи может
потребовать разработки полностью нового метода. Кроме того, эти методы требуют разработки достаточно сложных алгоритмов и программ.
3) Приближенные методы, позволяющие найти хорошее (но не всегда оптимальное) решение. При решении практических задач, имеющих большую размерность, применение этих методов может оказаться единственно возможным. Недостаток этих методов - отсутствие гарантии определения оптимального решения (т.е. наилучшего из всех возможных).
Наиболее удобным для решения данного класса задач является метод "ветвей и границ". Применительно к данной задаче он заключается в направленном движении по вершинам дерева, полученного путем фиксирования части переменных Xij(Xij= 0 или 1). Вершины первого уровня получают, поочередно закрепляя первую задачу за первым узлом, вторым и т.д., т.е. фиксируяX`ij= 1, дляj= 1, 2, 3,... приi= 1.
Вершины второго уровня получают, фиксируя X``ij= 1 дляj= 1, 2, 3,... приi= 2 и т.д.
Ветвление осуществляется с учётом ограничения:
Для каждой вершины находят оценку:
где i* - число рассмотренных уровней ветвления
Данный метод реализован в программе для поиска оптимального решения. (Delphi6)
Вторым методом, применяемым для решения задач данного класса, является метод Монте-Карло. Однако данный метод определяет решение близкое к оптимальному решению. Потому в данной программе не реализуется данный метод.