Metadata-Version: 2.4
Name: rescuer-task
Version: 0.1.0
Summary: Special MILP format using by rescuer packer project
Author-email: "Vasily Stolbov a.k.a Kotomord" <vasily.v.stolbov@gmail.com>
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: ortools
Requires-Dist: pytest
Dynamic: license-file

# rescuer-task

Data classes for special MILP format 

Class RescuerTask contains fields:
- cont_bounds: upper and lower bonds on continuous variables. Can be null if there are no bonds.
- rescuer_groups: sizes of groups of binary variables aka rescuers. The sum of variables in a group equals the size of the group minus one.
- inequalities:  list of inequalities

Class Inequality contains 4 fields:
- conts: pairs “continuous variable number”-”continuous variable coefficient”
- constant_term: constant term of the left side of inequality
- right_coef: multiplier of the right side of inequality
- rescuers: list of rescuers

If rescuers is null or empty, the inequality is interpreted as “the sum of values of continuous variable with coefficients and the constant term of the left side of inequality <=0”, otherwise it’s interpreted as “the sum of values of continuous variable with coefficients and the constant term of the left side of inequality <=right_coef* sum of rescuers from field rescuers”, where right_coef should be chosen in such a way that if at least one of the rescuers has the value of 1, the inequality is satisfied.

ROADMAP.md contains future plans for the library’s improvements.
