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

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

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

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

Знаходження початкового опорного плану транспортної задачі методом плаваючих зон

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

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

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

Програмна реалізація методу подвійної переваги в середовищі програмування delphi

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

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

  1. Поля вибору "Пункти призначення" та "Пункти відправлення" відповідають за кількість пунктів які беруть участь в перевезенні, а також розмірність транспортної таблиці.
  2. Кнопки "Знайти опорний план методом подвійної переваги" та "Очистити" відповідають за побудову початкового плану транспортної задачі та підготовку програми до нового прикладу відповідно.
  3. Нарисована на канві форми транспортна таблиця у комірки якої, способом введення з клавіатури, записуються тарифи на перевезення одиниці продукції, загальні потреби у товарі кожного з пунктів призначення і загальна кількість запасів кожного з пунктів відправлення.

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

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

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

  1. На першому кроці, у кожному стовпці транспортної таблиці відзначають знаком "V" комірку з найменшою вартістю.
  2. Потім те ж проробляють в кожному рядку. В результаті виконання другого кроку, деякі комірки транспортнї таблиці будуть містити відмітку "VV".
  3. На останньму кроці, у комірки з подвійними відмітками (подвійна перевага) поміщають максимально можливі обсяги перевезень, щоразу виключаючи з розгляду відповідні стовпці або рядки. Потім розподіляють перевезення по комірках з одиничною відміткою. Решта перевезення розподіляють згідно  алгоритму методу мінімального елемента.

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

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

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

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

  1. Поля вибору "Пункти призначення" та "Пункти відправлення" відповідають за кількість пунктів які беруть участь в перевезенні, а також розмірність транспортної таблиці.
  2. Кнопки "Знайти опорний план методом Фогеля" та "Очистити" відповідають за побудову початкового плану транспортної задачі та підготовку програми до нового прикладу відповідно.
  3. Нарисована на канві форми транспортна таблиця у комірки якої, способом введення з клавіатури, записуються тарифи на перевезення одиниці продукції, загальні потреби у товарі кожного з пунктів призначення і загальна кількість запасів кожного з пунктів відправлення.

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

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

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

  1. На довільному кроці методу, для кожного рядка та стовпця обчислюється різниця ("штраф") між значеннями найменшої вартості та вартості, наступної за величиною. Якщо ж виявиться, що в рядку чи стовпці містятся дві комірки з однаковими мінімальними значеннями тарифів, то беремо саме їх. В такому випадку різниця буде дорівнює нулю.
  2. Обчислені штрафи записуються у додаткові рядки та стовпі транспортоної таблиці.
  3. Виокремлюємо рядок чи стовпець з найбільшим "штрафом" (якщо їх є декілька, то обираємо довільний з них).
  4. У виокремленому на попередньому кроці рядку чи стовпці, обираємо комірку з найменшою вартістю.
  5. Для обраної комірки встановлюємо величину перевезунь, аналогічно методу мінімального елемента, після чого, повторюємо всі вищеописані дії знову, тільки вже не враховуючи заповнені клітини.

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

Метод гілок та меж. Розв'язок задачі цілочисельного програмування методом гілок та меж

Метод гілок і меж — один з комбінаторних методів. На відміну від методу Гоморі застосовується як до повністю, так і частково цілочисельних задач. Його суть полягає в упорядкованому переборі варіантів і розгляді лише тих з них, які виявляються за певними ознаками корисними для знаходження оптимального рішення.

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

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

Наступна сторінка »