Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Magistr / methods / Лабораторная работа 6.doc
Скачиваний:
6
Добавлен:
15.05.2015
Размер:
352.26 Кб
Скачать

Лабораторная работа 6.

Работа в программе “Roads”.

Описание программы “Roads”.

Введение

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

  1. Пользовательский интерфейс

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

1.1 Главное окно программы

На рис.1.1 представлено главное окно программы “Roads”.

Рис. 1.1. Исходное окно программы.

Из пунктов меню “Схема”, ”Инструменты”, ”Окна”, ”?” в настоящее время задействован только пункт ”Окна”.

В верхней части окна на панели инструментов находится

четыре группы кнопок. На рис. 1.2 приведены названия каждой кнопки.

Рис. 1.2. Названия управляющих элементов

При запуске программы автоматически запускаются два окна (см. рис. 1.3), которые не рекомендуется закрывать до окончания работы с программой. Можно открывать произвольное количество новых окон.

Рис. 1.3. Начальное состояние программы

Можно изменить расположение окон на экране с помощью пункта меню “Окна”.

1.2. Создание нового графа или редактирование загруженного

Для этого лучше развернуть окно “Построение графа” на весь экран и включить щелчками левой клавиши мыши кнопки “Показать координаты курсора”, “Перемещение и масштабирование”, “Названия пунктов” (см. рис. 1.4).

Рис. 1.4. Подготовка окна для создания графа дорог

Рис. 1.5. Инструмент перемещения графа в окне и изменения масштаба

Перемещение осуществляется щелчком левой кнопки мыши на стрелках, а изменение размера – на плюсе или минусе.

Для создания графа используются кнопки “Город”, “Соединение”, “Дорога”. Кнопка “Город” – для создания именованных вершин графа, соответствующих городам; кнопка “Соединение” – для создания неименованных вершин графа, соответствующих пунктам пересечения дорог; кнопка “Дорога” – для создания ребер графа, соответствующих дорогам.

Так как граф может быть довольно сложным, следует приблизительно придерживаться географических координат пунктов. Это позволит избежать путаницы и ненужных пересечений дорог. Координаты курсора, расположенные внизу окна, имеют формат: целая часть – градусы, дробная – радианы.

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

Последовательность построения графа следующая.

Первоначально устанавливаются вершины. Для этого включают кнопку “Город” или “Соединение” и стрелками (см рис. 1.5) добиваются того, чтобы окно содержало нужные координаты.

В точке с требуемыми координатами нажимается левая кнопка мыши. При этом появляется графическое изображение вершины (город – окружность, соединение - квадрат). Далее удобно ввести данные для вершины (только для города). Для этого нужно обязательно отключить активную кнопку (“Город” или “Соединение”), навести курсор мыши на требуемую вершину и нажать правую кнопку мыши. Если при этом не отключить кнопку “Город” или “Соединение”, то появится паразитная вершина, практически совпадающая с существующей, которая может помешать в будущем правильной работе графа. При нажатии правой кнопки мыши появляется окно (см рис. 1.6).

Рис. 1.6. Вспомогательное окно

Требуется выбрать “Ввести название” и щелкнуть по нему левой кнопкой мыши. Появится окно (см рис. 1.7).

Рис. 1.7. Ввод характеристик вершины

Все поля в этом окне редактируемые. Название города не должно содержать пробелы. Широта и долгота снимаются с положения мыши. Так как они в расчетах не используются, их можно заменить на правильные, если мышь наведена не совсем точно. Можно сохранить данные (при первом вводе) или выйти без сохранения при необходимости просмотра названия вершины в дальнейшем. Так устанавливаются все или часть вершин. Желательно периодически сохранять промежуточное состояние создаваемого графа в файлах. После записи в файл, опять открыть его, чтобы убедиться в том, что файл правильно сохранился и нормально загружается.

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

Рис. 1.8. Пример графа.

Далее необходимо ввести характеристики дорог. Для этого курсор мыши наводится на дорогу и нажимается правая клавиша мыши (см рис.1.9).

Рис. 1.9. Выбор режима ввода данных для дороги

Затем левой клавишей мыши щелкают на выбранном пункте меню. Появляется окно (см рис. 1.10).

Рис. 1.10. Окно ввода данных для дороги

Все поля редактируемые. Поле “Длина” – километры; поле “Пропускная способность” – количество автомобилей в час в обоих направлениях одновременно (для одностороннего движения, когда известна пропускная способность в одном направлении, это значение нужно увеличивать вдвое); поле “Загруженность дороги” - безразмерная величина, одинаковая для обоих направлений (меньше или равна единице); поле “Направления” может иметь только два значения – “2” или “1”; поле “Скорость” – километры в час.

В любое время можно посмотреть данные для всех дорог одновременно. Для этого нужно нажать правую клавишу мыши (курсор мыши в любом месте экрана) и появится окно (см рис. 1.9). Нужно выбрать пункт меню “Показать дороги” и щелкнуть на нем левой клавишей мыши. Появится окно, в котором отображены все сведения о дорогах графа.

Рис. 1. 11. Просмотр характеристик дорог.

На каждую дорогу отводится две строки. Здесь в первой строке: 1 – номер дороги, пункты, между которыми проходит дорога; во второй строке: 400 – длина, 30 – пропускная способность, 0,1 – коэффициент загрузки, 2 – количество направлений, 30 - скорость. Подобно размещена информация в следующих строках. Для того, чтобы закрыть это окно, необходимо щелкнуть левой клавишей мыши на любой строке и нажать клавишу “Esc” клавиатуры.

На этом ввод графа можно считать завершенным. Желательно сохранить его в отдельном файле. После загрузки этого файла на граф можно накладывать любой план перевозок.

Если необходимо модернизировать граф (удалить некоторые вершины и дороги, поставить другие и т.д.) требуется воспользоваться нижними пунктами меню (см рис. 1.9).

Для того, чтобы удалить вершину, необходимо навести на нее курсор мыши, нажать правую клавишу мыши и, выбрав пункт меню “Удалить вершину”, щелкнуть на нем левой клавишей мыши. Вершина удаляется вместе с дорогами, к ней подходящими. Для того, чтобы удалить дорогу, необходимо навести курсор мыши на вершину, к которой она подходит (или исходит) и нажать правую клавишу мыши. В открывшемся меню выбрать пункт “Убрать соединение” и щелкнуть по нему левой клавишей мыши. Затем навести курсор мыши на другую вершину этой дороги и щелкнуть левой клавишей мыши. Дорога исчезнет. На демонстрируемом примере была удалена вершина “Горячий_Ключ ”. Вместе с ней исчезли две дороги (0-я и 3-я).

Затем была опять поставлена эта вершина и восстановлены дороги. При вводе вершин и дорог для их нумерации используются номера на единицу большие в существующем графе. Поэтому для дорог номера 0 и 3 исчезли и появились номера 4 и 5 (см рис.1.11, на котором приведены характеристики дорог после модернизации графа).

При сохранении графа в файл (по умолчанию) используется расширение “txt”. Полезно знать структуру такого файла. Если файл запорчен и не загружается в программу “Roads”, его можно исправить в любом текстовом редакторе. Ниже приведен текст файла, в котором сохранен граф примера.

4 4 - количество вершин, количество дорог

5 6 - номер следующей вводимой вершины, дороги

92.6204 54.9607 - долгота и широта левого верхнего угла окна

127.38 18.1967 - долгота и широта правого нижнего угла окна

2 - тип вершины (2-"Соединение")

1 - номер вершины

114.416 34.4737 - координаты вершины (долгота, широта)

0 - количество перевозок из вершины (для типа 2 их не может быть)

1 Негорячий_Ключ - тип вершины (1-"Город"), название вершины

2 - номер вершины

120.726 47.6316 - координаты вершины (долгота, широта)

0 - количество перевозок из вершины

1 Деревня -

3 -

112.587 20.2632 -

0 - далее подобно для остальных вершин

1 Горячий_Ключ -

4 -

106.722 47.2077 -

0 -

1 2 1 - номер дороги, номера вершин начала, конца

120.726 47.6316 - координаты начала

114.416 34.4737 - координаты конца

400 30 0.1 - длина, пропускная способность, загрузка

2 - количество направлений

30 - скорость

2 1 3 -

114.416 34.4737 -

112.587 20.2632 -

100 25 0.2 -

2 -

40 -

4 4 2 -