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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Графічний метод розв'язання задач цілочисельного програмування, як і для випадку задачі лінійного програмування, має обмежену область застосування, бо зазвичай використовується для задач з двома змінними. Тобто, кожна з нерівностей в системі обмежень задач такого типу, визначає на координатній площині graficnuj_metod_cp_delphi3 деяку півплощину, а система нерівностей в цілому — перетин відповідних півплощин. Сукупність точок перетину даних півплощин називається областю допустимих рішень або багатокутником розв'язків. Даний багатокутник завжди являє собою опуклу фігуру, тобто має наступну властивість: якщо дві точки graficnuj_metod_cp_delphi4 і graficnuj_metod_cp_delphi5 належать цій фігурі, то і весь відрізок graficnuj_metod_cp_delphi6 належить їй.

Розглянемо задачу цілочисельного програмування, та спробуємо розв'язати її використовуючи delphi-програму, яка реалізує даний метод. Норми витрат сировини на виробництво одного товару кожного виду, ціна одиниці товару а також загальна кількість сировини наведені в наступній таблиці:

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

Знаходження найкоротшого маршруту для орієнтованого графі за алгоритмом Дейкстри в середовищі програмування Delphi(2)

Дана програма призначена для знаходження найкоротшого маршруту, за алгоритмом Дейкстри, від вершини №1 до всіх інших вершин орієнтованого графа, а також для підрахунку довжини даного маршруту.

Після запуску програми користувачу пропонується створити граф з допомогою кнопок панелі інструментів та області форми під назвою «Граф». Тобто для того, щоб намалювати вершини графа необхідно на панелі інструментів натиснути кнопку «Додати вершину» і з допомогою лівої кнопки миші розмістити її в області «Граф».

Створення вершин графа з допомогою програми Алгоритм Дейкстри

Створення вершин графа з допомогою програми Алгоритм Дейкстри

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

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