Про програму
Abstract
This course project addresses the solution of a linear programming problem with integer constraints and the sequence of operations according to the precedence constraint graph for optimizing the number of workstations (also known as Assembly Line Balancing Problem (SALBP-1)).
The project examines approaches to formulating the mathematical model and constraints, methods for finding the optimal solution, and the implementation of the proposed algorithms using a personal computer. The program listing can be used to solve similar problems.
Загальний опис
Ця програма є простим та зрозумілим інструментом, розробленим для вирішення простих задач оптимізації збиральної лінії (SALBP-1). Основна мета програми полягає в оптимізації розподілу операцій між робочими станціями, що дозволяє мінімізувати кількість станцій. Це досягається за допомогою математичного моделювання та методів цілочисельного програмування. Скрипт написаний на Python 3 і доступний у вигляді відкритого коду, що дозволяє легко інтегрувати його у інші проекти або здійснювати наочну демонстрацію методів цілочисленного лінійного програмування.
SALBP-1 (Simple Assembly Line Balancing Problem Type 1) є класичним завданням оптимізації у виробничих системах. Основне завдання полягає в тому, щоб розподілити набір операцій на мінімальну кількість робочих станцій при фіксованому часі циклу. Це допомагає зменшити витрати, покращити ефективність та продуктивність виробничого процесу. Програма вирішує цю задачу шляхом побудови математичної моделі, що враховує всі необхідні обмеження і вимоги.
Програма реалізована на мові програмування Python 3, що забезпечує її високу гнучкість та доступність. Використання Python дозволяє легко інтегрувати програму в інші системи. Пакет можна встановити через whl файл, що робить процес установки менш залежним від середовища користувача.
Для вирішення задач цілочисельного програмування використовується бібліотека PuLP. PuLP є надійним інструментом для математичного програмування, який дозволяє формулювати і вирішувати задачі лінійного та цілочисельного програмування за допомогою простого і зрозумілого синтаксису. Однією з основних переваг PuLP є його інтеграція з різними оптимізаційними вирішувачами, такими як CBC, CPLEX, GUROBI та інші. Це забезпечує гнучкість у виборі методу вирішення задачі та дозволяє досягти оптимальних результатів у найкоротші терміни.
Встановлення пакету на ПК користувача
PEP 427 регламентує передачу та встановлення пакетів Python у форматі whl (wheel). Wheel є форматом пакування, який призначений для розповсюдження готових для встановлення пакетів Python. Він забезпечує швидше та надійніше встановлення порівняно з традиційним форматом sdist (source distribution).
Wheel сумісний з різними версіями Python та операційними системами, що полегшує розповсюдження пакетів. Пакуваня програм у *.whl файли також передбачає збереження необхідних метаданих про пакет, такі як: версія, автор, ліцензія та залежності.
Перелік залежностей дозволяє встановлювати пакет в непідготовлене середовище, яке потребує тільки наявності інтерпретатора Python.
Для встановлення цього пакета необхідно виконати інструкцію install пакетного менеджера у папці, де збережено файл програми.
Для створення власної збірки з подальшим встановленням в інші середовища:
(dev_env) D:\program_source_project\> python3 setup.py bdist_wheel
(dev_env) D:\program_source_project\> deactivate
D:\project\> cd D:\another_project
D:\another_project\> venv\Scripts\activate; cd..
(venv) D:\another_project\>
(venv) D:\another_project\> pip install D:\program_source_project\salbpone-24.7.0-py3-none-any.whl
Для встановлення опублікованої збірки:
pip install salbpone