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

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

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

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

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

  1. Панель інструментів: складається з одного поля вибору типу TSpinEdit, у властивості Value якого міститься число, яке вказує на розмірність системи обмежень задачі; двох таблиць типу TStringGrid, одна з яких призначена для вводу коефіцієнтів при невідомих цільової функції і друга — для вводу коефіцієнтів при невідомих та стовпця вільних членів системи обмежень; одна кнопка типу TButton — реалізує алгоритм розв'язку задачі дробово-лінійного програмування графічним методом.
  2. Область графічного представлення: призначена для візуалізації області допустимих розв'язків задачі та виводу результатів роботи програми.

Головне вікно delphi-проекту "Розв'язок задачі дробово-лінійного програмування графічним методом"

Зауваження: по замовчуванню, знак кожної з нерівостей системи обмежень задачі встановлюється як «<=» і якщо для будь-якої з них виникла необхідність змінити його на знак «>=», то це можна здійснити відредагувавши, способом введення з клавіатури, відповідну комірку таблиці «Система обмежень».

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

при наступних обмеженнях:

Для цього, запустимо проект на виконання, в полі «Розмірність системи обмежень» встановимо значення рівним три, таблиці «Функція мети» та «Система обмежень» заповними відповіднми коефіцієнтами при невідомих та стовпця вільних членів, після чого, скористаємося кнопкою «Знайти розв'язок задачі дробово-лінійного програмування».

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

Заповнення елементів головної форми відповідними даними

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

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

Вивід результатів роботи програми

Скачати delphi-проект Розв'язок задачі дробово-лінійного програмування графічним методом.

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

Коментарі

Один коментар по темі “Розв'язок задачі дробово-лінійного програмування графічним методом в середовищі програмування delphi”
  1. Дмитро пише:

    Дуже цікава стаття.

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