By | 05/01/2016

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

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

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

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

Заповнення транспортної таблиці даними

Заповнення транспортної таблиці даними

Далі, скориставшись кнопкою “Знайти оптимальний план методом диференціальних рент” запишемо у відповідні комірки таблиці числа, які означатимуть оптимальний план перевезення продукції загальна вартість якого міститься в статусному рядку.

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

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

Скачати delphi-проект Побудова оптимального плану транспортної задачі методом диференціальних рент.

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

  1. Дмитрий

    Автор ти врятував мою дупу цією програмою, спасибі заздалегідь!
    Хотів би запитати, чи можеш ти написати що означає кожна змінна в тексті програми? Теж саме про процедури. Дуже вдячний.

  2. admin Автор

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

  3. Дмитрий

    Емм в першу чергу питання конкретно до коду програми. Цікавлять змінні які присутні в коді, що вони означають і для чого потрібні)
    А про процедури, це все що починаються з procedure на самому початку програми (їх я там 11 штук нарахував)

  4. Дмитрий

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

  5. admin Автор

    На коли Вам це потрібно?

  6. Дмитрий

    Якщо чесно чим швидше, тим краще … завтра, післязавтра. Це багато часу займає?

  7. admin Автор

    Добре, спробую щось накидати !!!

  8. Дмитрий

    а де це подивитися?)) може за допомогою соц. мереж? я можу своє посилання скинути

  9. admin Автор

    Я відправлю Вам електронкою !!!

  10. Victor

    Добрий день. Можна і мені коментарі за кодом?

  11. admin Автор

    Шановний Victor, свою електронну адресу Ви вже вказували при заповненні форми коментування. Тобто він нам уже відомий і дублювати його в самому тексті коментаря не обов’язково.

    А що стосується вашого першого запитання, то ще раз відправляємо вам delphi-проект. Якщо в коді ще якийсь момент виявиться незрозумілим, звертайтеся будемо пробувати пояснити.

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *

*