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

2. Аналіз завдання та початкових умов

ПИШИТЕ СВОЮ УМОВУ ТА ПОСТАНОВКУ І ВСЕ ІНШЕ ДО КОЖНОГО ЗАВДАННЯ ОКРЕМО

2.1. Постановка задачі

Розробити програму для рішення заданої оптимізаційної задачі з фіксованими та довільними даними:

На основі заданої карти доріг визначити шлях мінімальної довжини, для поставок сільгосппродуктів з фермерського господарства в міський магазин.

Мал. 1

Дана програма розглядає карту доріг (Мал.1) та відстані між населеними пунктами як двомірний цілочисельний масив, де фіксовані комірки – це назви населених пунктів, а дані, що знаходяться в таблиці - це відстані між цими пунктами. Після запуску програми масив заповнений фіксованими даними, але при бажанні їх можна задати самому. Щоб знайти шлях, необхідно ввести назви населених пунктів і натиснути відповідну кнопку, після чого буде знайдено всі можливі шляхи та відстані між ними.

2.2. Призначення програми

Дана програма призначена для автоматичного пошуку найкоротшого шляху між населеними пунктами. Програма може мати широке застосування, для автоматизації розрахунків маршрутів у поштових відділеннях, постачання магазинів та інших підприємств чи організацій, де необхідно визначити шлях з мінімальними затратами.

2.3. Вимоги до програми

Так як програма працює з цілочисельним масивом, то при заповненні масиву не повинні вводитись символи і дробові числа.

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

Інформація повинна виводиться у діалоговій формі після натиснення відповідної кнопки.

Інтерфейс програми повинен відповідати стандарту ОС Windows.

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

Програма повинна мати довідкову систему, де містяться відомості про призначення даної програми та відомості про саму програму.

6

  1. Математична модель рішення задачі

Якщо декілька населених пунктів з’єднані між собою дорогами, то очевидно, що потрапити з одного населеного пункту до іншого можна різними шляхами. Задача полягає в тому, щоб знайти найкоротший маршрут. Знайти найкоротший маршрут можна вибором з усіх знайдених.

Карта доріг між містами представлена двомірним масивом, де значення певного елемента масиву – це відстань між містами; якщо міста на з’єднані, то це значення рівне нулю.

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

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

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