9 | | After this patch everything is uniform, and all tests pass in the graph/ files with gubori as the default solver. |
| 9 | Before : |
| 10 | {{{ |
| 11 | sage: g = DiGraph('IESK@XgAbCgH??KG??') |
| 12 | sage: g.feedback_edge_set(value_only = True, constraint_generation = False) |
| 13 | 7 |
| 14 | sage: g.feedback_edge_set(value_only = True, constraint_generation = False, solver = "GUROBI") |
| 15 | 7 |
| 16 | }}} |
| 17 | |
| 18 | After : |
| 19 | {{{ |
| 20 | sage: g = DiGraph('IESK@XgAbCgH??KG??') |
| 21 | sage: g.feedback_edge_set(value_only = True, constraint_generation = False) |
| 22 | 7 |
| 23 | sage: g.feedback_edge_set(value_only = True, constraint_generation = False, solver = "Gurobi") |
| 24 | 7 |
| 25 | }}} |
| 26 | |
| 27 | Hopefully, the problem came from an optional algorithm, optional because slower than the other one. |
| 28 | |
| 29 | After this patch everything is uniform, and all tests pass in the graph/ files with gubori as the default solver. All doctests do not pass in mip.pyx but that is only matters of default names for constraints, and stupid ways to store inequalities inside of Gurobi. For instance : |
| 30 | {{{ |
| 31 | sage: p = MixedIntegerLinearProgram(solver = "Gurobi") # optional - Gurobi |
| 32 | sage: p.add_constraint(p[0] - p[2], min = 1, max = 4) # optional - Gurobi |
| 33 | sage: p.add_constraint(p[0] - 2*p[1], min = 1) # optional - Gurobi |
| 34 | sage: p.show() |
| 35 | Maximization: |
| 36 | |
| 37 | Constraints: |
| 38 | R0: 4.0 <= x_0 -x_1 +RgR0 <= 4.0 |
| 39 | R1: 1.0 <= x_0 -2.0 x_3 |
| 40 | Variables: |
| 41 | x_0 is a continuous variable (min=0.0, max=+oo) |
| 42 | x_1 is a continuous variable (min=0.0, max=+oo) |
| 43 | RgR0 is a continuous variable (min=0.0, max=3.0) |
| 44 | x_3 is a continuous variable (min=0.0, max=+oo) |
| 45 | }}} |
| 46 | |
| 47 | You always pay for the bad code you write `-_-` |