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

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

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

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

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

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

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

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

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

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

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

Матеріал був корисним, поділись в соціальних мережах:

Коментарі

12 коментарів по темі “Рішення транспортної задачі методом диференціальних рент в середовищі програмування delphi”
  1. Дмитрий пише:

    Автор ты спас мою задницу этой прогой, спасибо заранее!

    Хотел бы спросить, можешь ли ты написать что значит каждая переменная в тексте программы? Тоже самое про процедуры. Очень признателен.

  2. admin пише:

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

  3. Дмитрий пише:

    Эмм в первую очередь вопрос конкретно к коду программы. Интересуют переменные которые присутствуют в коде, что они значат и для чего нужны)

    А про процедуры, это все которые начинаются с procedure в самом начале программы (их я там 11 штук насчитал)

  4. Дмитрий пише:

    Как бы по понятнее объяснить... Ваша прога это тема моей курсовой, но т.к. ее делал Вы я не знаю какой массив что выполняет, какая переменная что означает. Вот я подумал, написать Вам, может вас не затруднит поставить комментарии в программе напротив массивов и написать для чего каждая переменная нужна)

  5. admin пише:

    На когда Вам это нужно?

  6. Дмитрий пише:

    Если честно чем быстрее, тем лучше...завтра, послезавтра. Это много времени занимает?

  7. admin пише:

    Хорошо, попробую что-то набросать !!!

  8. Дмитрий пише:

    а где это посмотреть?))может быть соц.сетью? я могу свою ссылку скинуть

  9. admin пише:

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

  10. Дмитрий пише:

    Жду!!

  11. Victor пише:

    Здравствуйте. Можно и мне комментарии по коду?

  12. admin пише:

    Уважаемый Victor, свой электронный адрес Вы уже указывали при заполнении формы комментирования. То есть он нам уже известен и дублировать его в самом тексте комментария не обязательно.

    А что касается вашего первого вопроса, то еще раз отправляем вам delphi-проект. Если в коде еще какой-то момент окажется непонятным, обращайтесь будем пробовать объяснить.

Якщо тобі сподобалась дана тема, залиш свій коментар