Розв'язок задачі комівояжера методом Монте-Карло в середовищі програмування delphi

Delphi-програма реалізує статистичний алгоритм методу Монте-Карло, з допомогою якого здійснюється розв'язок задачі комівояжера (також відома як задача про бродячого торговця). Тобто, основна суть delphi-проекту зводиться до побудови маршруту таким чином, щоб комівояжер побував у кожному пункті по одному разу і повернувся у початковий. Відмітимо, що в якості критерію оптимальності може слугувати мінімальний час проводений в дорозі, мінімальні витрати на переміщення і, звичайно, мінімальна довжина шляху.

Отже, після запуску проекту, на екрані появиться форма наступного вигляду:

Головне вікно проекту "Розв'язок задачі комівояжера методом Монте-Карло"

Головне вікно проекту "Розв'язок задачі комівояжера методом Монте-Карло"

Тобто для того, щоб знайти розв'язок деякої задачі комівояжера (в нашому випадку розв'язується задача, яку ми розглядали при вивченні теоретичної частини методу Монте-Карло для рішення задач такого типу), від користувача вимагається задати кількість населених пунктів, в яких повинен побувати комівояжер, заповнити таблицю значеннями, які відповідатимуть одному з вищевказаних критеріїв оптимальності та натиснути кнопку "Знайти оптимальний маршрут".

Читати повністю

Побудова мінімального кістятка за алгоритмом Борувки в середовищі програмування delphi

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

Отже, головна форма складається з панелі інструментів, області графічного представлення, області, яка містить матрицю суміжності графа та області виводу результатів. Розглянемо кожну з них більш детально.

Читати повністю

Розв'язок задачі нелінійного програмування методом Франка-Вульфа в середовищі програмування delphi

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

Розглядати більш детально процес відшукання розв'яку нелінійних задач методом Франка-Вульфа в даному параграфі не будемо. Його, за бажанням, можна знайти перейшовши за посиланням Розв'язок задач нелінійного програмування з лінійними обмеженнями. А приступимо, до розгляду основних елементів головної форми проекту, та безпосереднь до розв'язку конкретної задачі.

Читати повністю

Програмна реалізація методу штучного базису в середовищі delphi

Delphi-програма реалізує процедуру відшукання розв'язку задачі лінійного програмування і використовує для цього метод штучного базису. Відмітимо, що данйи метод викорисовується в тому випадку, коли модель задачі не містить достатньої кількості або немає взагалі базисних (одиничних) векторів. Основна ідея методу штучного базису полягає в тому, що шляхом введення до відповідних обмежень моделі задачі штучних змінних створюються штучні вектори, які утворюють базис необхідний для ров'язку задачі. По мірі ров'язання ці вектори виводяться із базису і розв'язок задачі продовжуємо стандартним симплекс методом.

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

Читати повністю

Розв'язок задачі лінійного програмування двоїстим симплекс методом в середовищі програмування delphi

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

Далі, перейдемо до детального розгляу кожного з елементів головної форми проекту, після чого, з його допомогою, знайдемо розв'язок конкретної задачі лінійного програмування. Отже, головне вікно програми ділиться на три частини:

Читати повністю

Знаходження розв'язку задачі лінійного програмування в середовищі програмування delphi

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

Головне вікно програми ділиться на три частини:

  1. Панель існтрументів: містить два компоненти типу TSpinEdit (відповідають за розмірність симплекс таблиці) та дві кнопки типу TButton ("Знайти оптимальний план задачі лінійного програмування" та "Очитстити"). Перша з них, реалізує процедуру побудови оптиамльного розв'язку задачі лінійного програмування за симплекс методом і друга — готує проек до нового прикладу.
  2. Робоча область: містить таблицю типу TStringGrid, у комірки якої, способом введення з клавіатури, заносяться дані початкової симплекс таблиці.
  3. Область виводу рузультатів: містить компонент TPageControl, який, по ходу виконання програми доповнюється сторінками TTableSheet та таблицями TStringGrid, кожна з яких містять опорний план, отриманий на кожній ітерації алгоритму (оптимальний план заданої задачі міститься в останній таблиці).

Читати повністю

Програмна реалізація методу плаваючих зон для побудови опорного плану транспортної задачі

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

Отже, головне вікно проекту ділиться на три частини: панелі інструментів (складається з двох компонентів типу TSpinEdit та двох кнопок типу TButton), робочої області (містить транспортну таблицю) та статусного рядка, основним призначенням якого є вивід загальної вартості перевезень згідно побудованого оптимального плану. Розглянемо призначення кожного з цих елементів більш детально:

Читати повністю

« Попередня сторінкаНаступна сторінка »