Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
CURSE.doc
Скачиваний:
3
Добавлен:
10.12.2018
Размер:
3.06 Mб
Скачать

6 Тестирование и анализ результатов

6.1 Тестирование

Список объектов для первого тестового примера приведён в таблице 6.1.

Таблица 6.1 - Тестовый пример №1

Имя объекта

Вес объекта

Ценность объекта

A

30

100

B

50

200

C

70

300

Ограничение веса: 100, общая ценность: 600.

Предполагаемое решение: A, C.

Шаг 1.

Текущий объект: A; текущая выборка: пуста; текущий вес: 0; текущая ценность: 0.

Проверка на добавление элемента в текущую выборку: 0+30 < 100

Добавление объекта.

Шаг 2.

Текущий объект: В; текущая выборка: А; текущий вес: 30; текущая ценность: 100.

Проверка на добавление элемента в текущую выборку: 30+50 < 100

Добавление объекта.

Шаг 3.

Текущий объект: С; текущая выборка: А, В; текущий вес: 80; текущая ценность: 300.

Проверка на добавление элемента в текущую выборку: 80+70 > 100

Нельзя добавлять текущий объект.

Пройдены все объекты – текущая выборка является оптимальной.

Новая оптимальная выборка: A, B; вес: 80; ценность: 300.

Шаг 4.

Текущий объект: В; текущая выборка: А, В; текущий вес: 80; текущая ценность: 300.

Удаление объекта.

Шаг 5.

Текущий объект: С; текущая выборка: А; текущий вес: 30; текущая ценность: 100.

Проверка на добавление элемента в текущую выборку: 30+70 = 100

Добавление объекта.

Пройдены все объекты – сравнение текущей выборки с оптимальной: 400 > 300

Текущая выборка является оптимальной.

Новая оптимальная выборка: A, С; вес: 100; ценность: 400.

Шаг 6.

Текущий объект: С; текущая выборка: А, С; текущий вес: 100; текущая ценность: 400.

Удаление объекта.

Шаг 7.

Текущий объект: A; текущая выборка: А; текущий вес: 30; текущая ценность:

100.

Удаление объекта.

Шаг 8.

Текущий объект: В; текущая выборка: пуста; текущий вес: 0; текущая ценность: 0.

Проверка на добавление элемента в текущую выборку: 0+50 < 100

Добавление объекта.

Шаг 9.

Текущий объект: С; текущая выборка: В; текущий вес: 50; текущая ценность: 300.

Проверка на добавление элемента в текущую выборку: 50+70 < 100

Нельзя добавлять текущий объект.

Пройдены все объекты.

Шаг 10.

Текущий объект: В; текущая выборка: В; текущий вес: 50; текущая ценность: 300.

Удаление объекта.

Текущая выборка пуста, просмотрены все возможные выборки.

Найдено оптимальное решение: A, C; оптимальный вес: 100, оптимальная ценность: 400.

Список объектов для второго тестового примера приведён в таблице 6.2.

Таблица 6.2 - Тестовый пример №2

Имя объекта

Вес объекта

Ценность объекта

A

40

200

B

60

300

C

60

300

Ограничение веса: 100, общая ценность: 600.

Предполагаемое решение: A, B или А, С.

Шаг 1.

Текущий объект: A; текущая выборка: пуста; текущий вес: 0; текущая ценность: 0.

Проверка на добавление элемента в текущую выборку: 0+40 < 100

Добавление объекта.

Шаг 2.

Текущий объект: В; текущая выборка: А; текущий вес: 40; текущая ценность: 200.

Проверка на добавление элемента в текущую выборку: 40+60 < 100

Добавление объекта.

Шаг 3.

Текущий объект: С; текущая выборка: А, В; текущий вес: 100; текущая ценность: 500.

Проверка на добавление элемента в текущую выборку: 100+60 > 100

Нельзя добавлять текущий объект.

Пройдены все объекты – текущая выборка является оптимальной.

Новая оптимальная выборка: A, B; вес: 100; ценность: 500.

Шаг 4.

Текущий объект: В; текущая выборка: А, В; текущий вес: 100; текущая ценность: 500.

Удаление объекта.

Шаг 5.

Текущий объект: А; текущая выборка: А; текущий вес: 40; текущая ценность: 200.

Удаление объекта.

Шаг 6.

Текущий объект: В; текущая выборка: пуста; текущий вес: 0; текущая ценность: 0.

Проверка на добавление элемента в текущую выборку: 0+60 < 100

Добавление объекта.

Шаг 7.

Текущий объект: С; текущая выборка: В; текущий вес: 60; текущая ценность: 300.

Проверка на добавление элемента в текущую выборку: 60+60 > 100

Нельзя добавлять текущий объект.

Пройдены все объекты.

Шаг 18.

Текущий объект: В; текущая выборка: В; текущий вес: 60; текущая ценность: 300.

Удаление объекта.

Текущая выборка пуста, просмотрены все возможные выборки.

Найдено оптимальное решение: A, В; оптимальный вес: 100, оптимальная ценность: 500.

6.2 Анализ результатов

Во время тестирования разработанный алгоритм правильно решил все примеры. В ходе тестирования было обнаружено, что за счёт реализованного условия исключения объекта из текущей выборки в случае, если разность его ценности и общей ценности всех объектов меньше оптимальной ценности, алгоритм выбирает оптимальным только первое из полученных одинаковых решений. Это наглядно показано в тестовом примере №2.

ВЫВОДЫ

В результате курсового проектирования был разработан алгоритм поиска оптимального решения на основе метода ветвей и границ. Для демонстрации процесса решения были разработаны специальные функции отображения информации на экран. В результате выполненной работы был получен программный продукт, предназначенный для демонстрации решения задачи оптимального выбора с пояснениями. Во время тестирования алгоритма были обнаружены особенности решения задач с несколькими одинаковыми оптимальными решениями.

Программа может быть модифицирована для демонстрации поиска оптимального решения среди объектов, имеющих больше двух характеристик.

ПЕРЕЧЕНЬ ИСПОЛЬЗОВАННЫХ ИСТОЧНИКОВ

  1. Вирт Н. Алгоритмы и структуры даннях [пер. с англ.] — 2-е изд., испр. СПб.: Невский Диалект, 2001. — 352 с.: ил.

  2. Кормен, Т. Алгоритмы: построение и анализ [пер. с англ.]  — М.: МЦНМО, 2000. — 960 с.

Приложение А

ТЕХНИЧЕСКОЕ ЗАДАНИЕ

А.1 Общие сведения

Тема курсового проекта: Разработка демонстрационной системы «Задача оптимального выбора»

Система проектируется студентом 2-го курса Донецкого национального технического университета, факультет института информатики и искусственного интеллекта, группы ПОС-10а Чертенковым Русланом Сергеевичем.

Основанием для разработки ПП является задание, выданное кафедрой ПОИС. Плановый срок начала работы по созданию обучающей системы: 14.09.2011, срок окончания: 14.12.2001. Курсовой проект должен выполняться согласно графику, приведенному в таблице А.1.

Таблица А.1 – Этапы, результаты и сроки разработки ПП

Этап работы

Результат работы

Срок выполнения

(№ недели)

1

Получение задания на КП

Задание на разработку

14.09.2011

2

Выявление требований к разрабатываемому программному продукту

Техническое задание

1-2

3

Разработка метода решения задачи. Модульный анализ.

Определение структуры модулей

3-4

4

Разработка основного алгоритма функционирования.

Определение структуры программы, организация взаимосвязи модулей

5-6

5

Реализация и отладка демонстрационной части

Организация взаимосвязи процедур и функций

7-8

6

Реализация и отладка программы. Проведение тестирования ПП.

Текст программы. Описание программы и тестов.

9-11

7

Оформление пояснительной записки и сопроводительных материалов.

Прошитая ПЗ с CD-ROM

12-13

8

Защита курсового проекта

14.12.2011

A.2 Назначения и цели создания программы

Данный программный продукт разработан по заданию кафедры ПОИС и предназначен для демонстрации работы алгоритма поиска оптимального решения. Программный продукт является программой, которую можно использовать в различных учебных заведениях, где занимаются изучением программирования и других наук, требующих поиска оптимального выбора из множества решений.

А.3 Требования к программному продукту А.3.1 Требования к программному продукту в целом

Программный продукт должен иметь:

  1. ввод начальных параметров для решения;

  2. удобный и понятный пользовательский интерфейс;

  3. защиту от некорректного ввода начальных параметров;

  4. вывод результатов решения на экран;

  5. надежное хранение информации.

А.3.2 Требования к задачам и функциям программного продукта

В процессе работы необходимо обеспечить выполнение следующих функций:

  1. вывод на экран характеристик объектов на каждом шаге решения;

  2. сохранение и загрузка введённых исходных данных

А.4 Требования к техническому обеспечению

К техническому обеспечению предъявляются следующие требования:

  1. процессор – 32-битный x86-совместимый (уровня Pentium и выше);

  2. объем оперативной памяти – не менее 8Мб;

  3. свободное дисковое пространство – 2 МБ.

  4. графический адаптер – VGA-совместимый;

  5. монитор – VGA-совместимый;

  6. клавиатура.

А.5 Требования к программному обеспечению

Программным обеспечением для проектирования программы является Microsoft Visio, а для разработки – Microsoft Visual Studio 2010 Professional . Для запуска программы необходимо наличие операционной системы Windows 7, и соответствующих библиотек Microsoft Visual C++ Redistributable.

А.6 Требования к организационному обеспечению

В программную документацию должны входить:

  1. пояснительная записка;

  2. приложения:

    • техническое задание;

    • листинг программы;

    • руководство пользователя;

    • экранные формы.

Приложение Б

ЛИСТИНГ ПРОГРАММЫ

Приложение В

РУКОВОДСТВО ПОЛЬЗОВАТЕЛЯ

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

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

  1. Описание решения задачи

  2. Демонстрация решения задачи

0. Выход из программы

Для выбора нужного пункта меню необходимо ввести с клавиатуры соответствующую этому пункту цифру и подтвердить ввод нажатием клавиши «Enter». Цифры, соответствующие пунктам меню, указаны в названии пункта меню и отделены от текста точкой. Например, для выхода из программы необходимо ввести цифру «0» и нажать «Enter».

Пункт «1. Описание решения задачи».

В отдельном окне будет открыт текстовый файл, содержащий теоретические сведения о решении задачи оптимального выбора.

Пункт «0. Выход из программы».

При выборе данного пункта осуществляется завершение работы программы и закрытие окна.

Пункт «2. Демонстрация решения задачи».

В окне программы будет отображено меню демонстрации, которое выглядит следующим образом:

  1. Демонстрационный пример

  2. Ввод примера

5. Сохранить свой пример

7. Загрузить свой пример

0. Назад

Пункт «1. Демонстрационный пример».

В окне программы будет запущена пошаговая демонстрация решения задачи на примере, сохранённом в отдельном файле программы. Переход к следующему шагу демонстрации осуществляется путём нажатия любой клавиши на клавиатуре. Прервать демонстрацию для выбора других действий до завершения процесса демонстрации в данном окне невозможно. Демонстрация является завершённой, если в окне программы выводится таблица с подписью «Искомый оптимальный вариант».

Пункт «2. Ввод примера».

Осуществляет переход к окну ввода с клавиатуры пользовательских данных для демонстрации решения задачи, а именно: количество объектов, весовое ограничение и список объектов с их характеристиками. Завершение ввода текущего типа данных необходимо подтверждать нажатием клавиши «Enter” на клавиатуре. При вводе некорректных данных в окне программы будет выведено соответствующее сообщение и предоставлена возможность вновь ввести данные. После ввода данных в окне программы будет запущена пошаговая демонстрация решения задачи на введённом примере. Переход к следующему шагу демонстрации осуществляется путём нажатия любой клавиши на клавиатуре. Прервать демонстрацию для выбора других действий до завершения процесса демонстрации в данном окне невозможно. Демонстрация является завершённой, если в окне программы выводится таблица с подписью «Искомый оптимальный вариант».

Пункт «5. Сохранить свой пример».

Позволяет сохранить введённый пользовательский пример в отдельный файл. Сохранение пользовательских данных не затрагивает файл со встроенным примером из пункта «1. Демонстрационный пример». При сохранении данных предыдущие сохранённые данные пользователя будут утеряны. При успешном сохранении в окне будет отображено сообщение «Сохранено». В противном случае будет отображено сообщение об ошибке. Это может произойти, если программа была некорректно инсталлирована.

Пункт «7. Загрузить свой пример».

Позволяет загрузить ранее сохранённые пользовательские данные. Если пользовательские данные не были ранее сохранены, то будет загружен стандартный пример. В случае успешной загрузки в окне программы будет запущена пошаговая демонстрация решения задачи на пользовательском примере, загруженном из файла. Переход к следующему шагу демонстрации осуществляется путём нажатия любой клавиши на клавиатуре. Прервать демонстрацию для выбора других действий до завершения процесса демонстрации в данном окне невозможно. Демонстрация является завершённой, если в окне программы выводится таблица с подписью «Искомый оптимальный вариант». В противном случае будет отображено сообщение об ошибке. Это может произойти, если программа была некорректно инсталлирована.

Пункт «0. Назад».

При выборе данного пункта, в окне будет отображено главное меню программы.

Приложение Г

ЭКРАННЫЕ ФОРМЫ

Рисунок Г.1 – Главное меню

Рисунок Г.2 –Меню демонстрации

Рисунок Г.3 –Демонстрация процесса решения задачи

Рисунок Г.4 –Ввод пользовательского примера с клавиатуры

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]