-
Notifications
You must be signed in to change notification settings - Fork 35
Presubmission Inquiry for peer reviewing of our Python Package pygulp for weighted goal linear programming #281
Description
Submitting Author: AIDE LAB (@DrRoomani)
Package Name: pygulp - https://pypi.org/project/pygulp/
One-Line Description of Package: PyGuLP: A Python package for Weighted Goal Linear Programming
Repository Link: https://github.com/aidelab-iitbombay/GLP
EiC: TBD
Code of Conduct & Commitment to Maintain Package
- I agree to abide by [pyOpenSci's Code of Conduct][PyOpenSciCodeOfConduct] during the review process and in maintaining my package after should it be accepted.
- I have read and will commit to package maintenance after the review as per the [pyOpenSci Policies Guidelines][Commitment].
Description
Traditional linear programming frameworks are well suited to optimizing a single objective subject to feasibility constraints, but they usually fail in solving problems with conflicting objectives such as providing a protein rich diet at lower costs. Goal Linear Programming (GLP) extends linear programming by allowing targets to be modelled explicitly and by minimizing deviations from those targets. Among GLP variants, Weighted Goal Linear Programming (WGP) offers a transparent and interpretable formulation in which the relative importance of competing targets is encoded through priority weights.
PyGuLP is a lightweight Python package that implements WGP using standard linear programming constructs. Users define decision variables, feasibility constraints, and a set of goals expressed as linear functions with target values. For each goal, the package automatically introduces under- and over-deviation variables and constructs the corresponding goal-linking constraints. The resulting linear program minimizes a weighted sum of deviations and is solved using established linear solvers. PyGuLP makes goal-based optimization accessible to applied researchers while preserving full control over the underlying optimization model.
Community Partnerships
NA
Scope
- [x] Workflow automation
Domain Specific
- Optimization
-
Our package qualifies as a workflow automation package as it is designed to take goals and feasibility constraints as input and automatically build the full WGP model (deviation variables, goal-linking equations, and the final weighted objective), solve it using standard solvers, and return goal achievement and deviations in a consistent output format that supports repeatable scenario runs and clean comparisons across alternatives. Well suited to fields where optimized allocation of resources is a regular actitvity due to constantly changing inputs, and not just a one time effort.
-
The package has broad applications in multi-objective optimization and can be used for resource allocation in the field of nutrition, hospital management, environmental sciences to name a few.
-
To the best of our knowledge, there is no python package that addresses Goal Linear Programming. Our package adds functionalities not currently provided under the popular optimization package PuLP.
Metadata
Metadata
Assignees
Type
Projects
Status
Status