ВИКОРИСТАННЯ ПРОГРАМНИХ ПРОДУКТІВ ДЛЯ РОЗВ’ЯЗКУ ЗАДАЧ ОПТИМІЗАЦІЇ - Наукові конференції

Вас вітає Інтернет конференція!

Вітаємо на нашому сайті

Рік заснування видання - 2011

ВИКОРИСТАННЯ ПРОГРАМНИХ ПРОДУКТІВ ДЛЯ РОЗВ’ЯЗКУ ЗАДАЧ ОПТИМІЗАЦІЇ

07.12.2023 19:59

[1. Інформаційні системи і технології]

Автор: Мала Юлія Анатоліївна, кандидат технічних наук, доцент, Університет митної справи та фінансів, м. Дніпро; Селівьорстова Тетяна Віталіївна, кандидат технічних наук, доцент, Український державний університет науки і технологій, м. Дніпро; Кондратенко Михайло Юрійович, студент, Університет митної справи та фінансів, м. Дніпро


ORCID: 0000-0002-2539-4793 Юлія Мала

ORCID: 0000-0002-2470-6986 Тетяна Селівьорстова

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

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

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

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

Існує велика кількість програмних засобів, що дозволяє вирішувати оптимізаційні задачі: універсальні мови програмування типу Pascal, C++, С#, Java, Python; спеціалізовані мови програмування R, GAMS; системи автоматизованих інженерних та економічних розрахунків Excel та MathCad; пакети моделювання математичних та технічних систем MatLab Optimization Toolbox, Simulink, AnyLogic, AMPL, CPLEX, GurobiPy,  JuMP, Pyomo та інші [1, 2].

Серед різноманіття програмних засобів було обрано для огляду пакет Pyomo (Python Optimization Modeling Objects), як інструмент для моделювання і розв’язку задач оптимізації на основі Python. Вибір обґрунтовано тим, що Pyomo підтримує формулювання та аналіз математичних моделей для складних задач оптимізації, що зазвичай можливо робити в комерційних мовах моделювання (наприклад AML) проте він наявний у вільному доступі. Pyomo реалізує розвинений набір засобів моделювання та аналізу та надає доступ до цих засобів з повнофункціональної високорівневої мови програмування Python, для якої написано велика кількість бібліотек.

Декотрі переваги використання Pyomo для розв’язання оптимізаційних задач [3, 4]: 

- Pyomo проект з відкритим вихідним кодом, що поширюється на умовах ліцензії BSD (Berkeley Software Distribution), яка накладає менше обмежень на використання в комерційних або державних організаціях;

- зрозумілий синтаксис Python дозволяє Pyomo виражати математичні вирази зрозуміло і лаконічно;

- можливість використання великої кількості додаткових бібліотек (наприклад, numpy, scipy, matplotlib), що дозволяє аналізувати  моделі і розв’язки Pyomo;

- Pyomo можна використовувати для різних типів оптимізаційних задач (лінійне програмування, квадратичне програмування, нелінійне програмування, стохастичне програмування, оптимізація в умовах невизначеності та змішано-цілочисельне нелінійне програмування і інші);

- в Pyomo є можливість побудувати два типи моделей даних –абстрактна і конкретна. В абстрактній моделі відокремлюється модель і дані. У конкретній моделі дані визначаються в самій моделі. Моделі обох типів легко ініціалізують дані з самих різних джерел (наприклад, файли у форматах csv, json, yaml, excel і база даних);

- можливість імпортувати дані в Python з метою проведення аналізу даних, застосування методів машинного навчання і розв’язку оптимізаційних задач одним файлом.

Таким чином, пакет програмного забезпечення Pyomo з відкритим кодом є ефективним, потужним і перспективним інструментом для вирішення практичних задач оптимізації.

Література

1. Springer Optimization and Its Applications. Volume 67. Pyomo – Optimization Modeling in Python. / Michael L. Bynum , Gabriel A. Hackebeil , William E. Hart , Carl D. Laird , Bethany L. Nicholson , John D. Siirola , Jean-Paul Watson , David L. Woodruff Switzerland: Springer Nature Switzerland A, 2021. 226 p.

2. Добровольська Н. В. Методика використання інформаційних технологій при розв’язанні оптимізаційних задач. Сучасні інформаційні технології та інноваційні методики навчання в підготовці фахівців: методологія, теорія, досвід, проблеми. 2018. Вип. 52. С. 290-296.

3. William E. Hart, Jean-Paul Watson, David L. Woodruff. Pyomo: modeling and solving mathematical programs in Python. Math. Prog. Comp. 2011. P. 219-260.

4. Performance in Optimization Models: A Comparative Analysis of GAMS, Pyomo, GurobiPy, and JuMP. GAMS: веб-сайт. URL: https://www.gams.com/  (дата звернення: 05.12.2023).

Creative Commons Attribution Ця робота ліцензується відповідно до Creative Commons Attribution 4.0 International License
допомога Знайшли помилку? Виділіть помилковий текст мишкою і натисніть Ctrl + Enter
Конференції

Конференції 2024

Конференції 2023

Конференції 2022

Конференції 2021



Міжнародна інтернет-конференція з економіки, інформаційних систем і технологій, психології та педагогіки

Наукова спільнота - інтернет конференції

:: LEX-LINE :: Юридична лінія

Інформаційне суспільство: технологічні, економічні та технічні аспекти становлення