Inquire about Hybrid MPC with PWA system

127 views
Skip to first unread message

ngoc duy

unread,
Feb 25, 2019, 3:23:17 AM2/25/19
to YALMIP
Hello Proffessor Johan

As shown in the below figure, I want to solve a Hybrid MPC problem with PWA system. Like the conventional MPC problem, the control input and output are constained by the maximum and minimum. However, The control input  importantly depends the sign of variable V which is defined as shown in Figure. The coefficient beta and alpha in the Figure are known. Can I create a lookup table to define the constraints on control input and solve the MPC control problem?



20190225_171646.png


Johan Löfberg

unread,
Feb 25, 2019, 4:43:10 AM2/25/19
to YALMIP
Precisely as in the other PWA examples etc. For every time instance, you introduce two binaries d1 and d2, and then you add implies(d1, [V>=0, stuff on u]) + implies(d2, [V<=0, other stuff on u] + (d1+d2==1)

ngoc duy

unread,
Feb 25, 2019, 11:31:08 PM2/25/19
to YALMIP
 As shown in the examples in the link 
https://yalmip.github.io/example/hybridmpc/
 I understand that that example solves a Hybrid MPC problem with 2 state model depending on the sign of state x1. As the PWA example, the state equation also depends on the sign of variable(x1-x3), but the B1 matrix is constant and the consraints on the control input u importantly depend on the sign of variable(x1-x3).
How can I modify that code for my problem?
Reference for PWA model:
d = binvar(repmat(2,1,N),repmat(1,1,N));

 Model1 = [x{k+1} == A*x{k} + B1*u{k}, x{k}(1) >= 0];
 Model2 = [x{k+1} == A*x{k} + B2*u{k}, x{k}(1) <= 0];

 constraints = [constraints, implies(d{k}(1), Model1), implies(d{k}(2), Model2)];

 constraints = [constraints, sum(d{k}) == 1, -1 <= u{k}<= 1, -5<=x{k}<=5];


ngoc duy

unread,
Feb 25, 2019, 11:35:11 PM2/25/19
to YALMIP
As you suggested, I think I should modify the code marked red in the above comment.

Johan Löfberg

unread,
Feb 26, 2019, 1:50:11 AM2/26/19
to YALMIP
Yes, it is precisely the same, just slightly larger definitions in Model1 and Model2

ngoc duy

unread,
Feb 28, 2019, 12:27:01 AM2/28/19
to YALMIP
Hello, Proffessor

I am sorry for late response

I did not completely understand your thinking. In a general PWA control system, the matrix Bd depends on the sign of state, then the state space model consequently depends the sign of state variable. But in my problem, the matrix Bd is assumed to be always constant and the constraints on the control input depend on the sign of state, then the computed control input will also depend on the sign of state. For the condition with V>=0, there are 2 upper bounds and 1 lower bounder that I need to handle. For the condition with V<=0, there are 1 upper bounds and 2 lower bounder

I understand what the problem is but I dont how to modify the MATLAB code marked red. I wonder that can I define control input u for 2 conditions (V>=0 and V<=0) following each constraint and apply to Model 1 and 2. Could you give me some hints for this problem? 


Thank you very much

Johan Löfberg

unread,
Feb 28, 2019, 1:47:28 AM2/28/19
to YALMIP
I don't understand from where you get the idea that PWA means the B matrix is the only relevant thing

A pwa system is a system in the form

if these linearly representable conditions hold then this linear stuff hold
if these other linearly representable conditions hold then this other linear stuff hold

you have

Model1 = [V>=0, u >= beta3*V+alpha3, ...]
Model2 = [V<=0, u >= beta2*V+alpha2, ...]

ngoc duy

unread,
Feb 28, 2019, 2:06:22 AM2/28/19
to YALMIP
Dear Professor

I am sorry for the lack of knowledge. So, it mean that I can modify the code like this:


V{k}=x{k}(1)-x{k}(3);
Model1 = [x{k+1} == A*x{k} + B*u{k}, V{k)>= 0, u>= beta3*V+alpha3,u<= beta1*V+alpha1, u<= beta2*V+alpha2];
Model2 = [x{k+1} == A*x{k} + B*u{k}, V{k)< 0, u>= beta2*V+alpha2,u>= beta4*V+alpha4, u<= beta3*V+alpha3];
constraints = [constraints, implies(d{k}(1), Model1), implies(d{k}(2), Model2)];

constraints = [constraints, sum(d{k}) == 1, -1000 <= u{k}<= 1000, -0.2<=x{k}<=0.2];

Johan Löfberg

unread,
Feb 28, 2019, 2:11:38 AM2/28/19
to yal...@googlegroups.com
Yes (although there is no reason to complicate the model by having the state update inside the logical constraints, as it is the same in both cases, and it should be u{k})

ngoc duy

unread,
Feb 28, 2019, 2:24:47 AM2/28/19
to YALMIP
This code is not for my problem but I have sucssesfully implement MPC problem by apllying the algorithm as described in the previous comment.

Do you think is there any strange in this code? or other problem?

Thank you very much


mpc_hybridmodel_2.m

Johan Löfberg

unread,
Feb 28, 2019, 2:32:18 AM2/28/19
to YALMIP
Looks very standard.

Note that you have to set verbose to 2 in optimizer objects to get solver display

ngoc duy

unread,
Feb 28, 2019, 3:03:06 AM2/28/19
to YALMIP
As you suggested, is that wright if I revise as below

V=x{k}(1)-x{k}(3);
Model1 = [x{k+1} == A*x{k} + B*u{k}, V>= 0, u{k}>= beta3*V+alpha3,u{k}<= beta1*V+alpha1,...
                                   ,u{k}<= beta2*V+alpha2];
Model2 = [x{k+1} == A*x{k} + B*u{k}, V< 0, u{k}>= beta2*V+alpha2,u{k}>= beta4*V+alpha4,... 
                                                     , u{k}<= beta3*V+alpha3];
constraints = [constraints, implies(d{k}(1), Model1), implies(d{k}(2), Model2)];

constraints = [constraints, sum(d{k}) == 1, -1000 <= u{k}<= 1000, -0.2<=x{k}<=0.2];

or maybe I need to applied the code in MPC-explicit solution to reduce the computation time. Is that okay?


Thank you very much

Best Regards



Johan Löfberg

unread,
Feb 28, 2019, 3:09:00 AM2/28/19
to YALMIP
Whether an explicit solution is possible to compute (trivial to test) and/or the optimization problem is easy to solve is a completely different question. If it works, it works

ngoc duy

unread,
Mar 5, 2019, 7:40:33 AM3/5/19
to YALMIP

Dear Proffessor


As I asked about the hybrid MPC control problem for a PWA system with the state space model consequently depends the sign of state variable as shown in the below figure. I defined the constraints of control input  for the condition with V>=0 and V<=0. 

 I cretated a Simulink model and MATLAB m-file for simulation. However, it appeared an errror said that " Error in 'suspension_hybridmpc2/MPC'. Evaluation of expression resulted in an invalid output. Only finite double vector or matrix outputs are

supported". I tried to find out the solution but the error repeatly appeared. Could you kindly check what I need to revise? I have attached all related files for the simulation.


Thank you very much







fig.png


Design_HMPC_suspension.m
hybrid_suspension_data.m
suspension_hybridmpc2.mdl

ngoc duy

unread,
Mar 5, 2019, 7:47:14 AM3/5/19
to YALMIP
For comment, the problem above is a little bit different from the problem on the top. The difference is that  the constraints are just more defined. Actually, these are  the same problem.  I just want to conpare the simulation results with the results on paper.

Johan Löfberg

unread,
Mar 5, 2019, 9:24:31 AM3/5/19
to YALMIP
So have you put a debug break in the code and then carefully stepped through the code in every call looking at all expressions used in the call

and the fact that you have no check of error flag on the optimizer call is an indication that you really haven't started debugging this at all and just shoot blindly and hope it runs...

ngoc duy

unread,
Mar 5, 2019, 9:39:49 PM3/5/19
to YALMIP
Did you mean that I need to put check of error flag on the optimizer call by adding the debug in options? Is that right?

   opt=sdpsettings('solver','gurobi');
    opt.showprogress=1;
    opt.debug=1;
    opt.verbose=2;
    Controller = optimizer(constraints,objective,opt,{x{1},r},u{1});


After putting the debug on the optimizer,  I got the response that "the function (Design_MPC_suspension2) is not defined for input argument of the type double". What does that mean? Is there something i am not doing correctly?



ngoc duy

unread,
Mar 6, 2019, 12:02:16 AM3/6/19
to YALMIP
Dear Professor

Now, the code works well but I dont know why the computed control input is zero.  The solver I used is gurobi. 

The response like that:

+ Solver chosen : GUROBI-GUROBI
+ Processing objective function
+ Processing constraints
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Solver chosen : GUROBI-GUROBI
+ Processing objective function
+ Processing constraints
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.03 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.03 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.04 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+04]
Found heuristic solution: objective 0.0000000
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 0 iterations, 0.00 seconds

Explored 0 nodes (0 simplex iterations) in 0.07 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [8e-05, 5e+04]
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 2.725019e+01, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0      27.2501896   27.25019  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 27.2502 

Optimal solution found (tolerance 1.00e-04)
Best objective 2.725018964818e+01, best bound 2.725018964818e+01, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [8e-03, 5e+04]
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 2.006952e+03, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    2006.9515073 2006.95151  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 2006.95 

Optimal solution found (tolerance 1.00e-04)
Best objective 2.006951507325e+03, best bound 2.006951507325e+03, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [5e-01, 1e+05]
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.375630e+05, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    137562.99536 137562.995  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 137563 

Optimal solution found (tolerance 1.00e-04)
Best objective 1.375629953641e+05, best bound 1.375629953641e+05, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 6e+06]
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 5.743380e+06, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    5743380.0248 5743380.02  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 5.74338e+06 

Optimal solution found (tolerance 1.00e-04)
Best objective 5.743380024831e+06, best bound 5.743380024831e+06, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 2e+08]
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.817817e+08, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.817817e+08 1.8178e+08  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.81782e+08 

Optimal solution found (tolerance 1.00e-04)
Best objective 1.817817140452e+08, best bound 1.817817140452e+08, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 7e+10]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 7.090925e+10, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    7.090925e+10 7.0909e+10  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 7.09092e+10 

Optimal solution found (tolerance 1.00e-04)
Best objective 7.090924707839e+10, best bound 7.090924707839e+10, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 9e+12]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 9.279894e+12, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    9.279894e+12 9.2799e+12  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 9.27989e+12 

Optimal solution found (tolerance 1.00e-04)
Best objective 9.279894335913e+12, best bound 9.279894335913e+12, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 8e+14]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 8.565912e+14, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    8.565912e+14 8.5659e+14  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 8.56591e+14 

Optimal solution found (tolerance 1.00e-04)
Best objective 8.565911866671e+14, best bound 8.565911866671e+14, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 6e+16]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 5.826592e+16, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    5.826592e+16 5.8266e+16  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 5.82659e+16 
No other solutions better than 5.82659e+16

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (3.2584e+00) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 5.826591605229e+16, best bound 5.826591605229e+16, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 2e+18]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 2.250646e+18, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    2.250646e+18 2.2506e+18  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 2.25065e+18 
No other solutions better than 2.25065e+18

Optimal solution found (tolerance 1.00e-04)
Best objective 2.250646369019e+18, best bound 2.250646369019e+18, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 1e+20]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.046795e+20, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.046795e+20 1.0468e+20  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.0468e+20 

Optimal solution found (tolerance 1.00e-04)
Best objective 1.046795338027e+20, best bound 1.046795338027e+20, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 3e+22]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 3.281284e+22, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    3.281284e+22 3.2813e+22  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 3.28128e+22 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (2.4851e+05) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 3.281283824527e+22, best bound 3.281283824527e+22, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+24]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 4.138072e+24, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    4.138072e+24 4.1381e+24  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.24 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 4.13807e+24 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (1.1678e+08) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 4.138071667622e+24, best bound 4.138071667622e+24, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+26]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 3.728920e+26, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    3.728920e+26 3.7289e+26  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 3.72892e+26 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (1.0849e+10) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 3.728920444280e+26, best bound 3.728920444280e+26, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 2e+28]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 2.461705e+28, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    2.461705e+28 2.4617e+28  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 2.46171e+28 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (1.9368e+11) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 2.461705179007e+28, best bound 2.461705179007e+28, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 9e+29]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 8.673951e+29, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    8.673951e+29 8.6740e+29  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 8.67395e+29 

Optimal solution found (tolerance 1.00e-04)
Best objective 8.673951108492e+29, best bound 8.673951108492e+29, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 5e+31]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 5.678022e+31, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    5.678022e+31 5.6780e+31  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 5.67802e+31 
No other solutions better than 5.67802e+31

Optimal solution found (tolerance 1.00e-04)
Warning: max bound violation (5.5780e+31) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 5.678021915864e+31, best bound 5.678021915864e+31, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 1e+34]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.511577e+34, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.511577e+34 1.5116e+34  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.51158e+34 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (6.5575e+17) exceeds tolerance
Warning: max bound violation (1.5115e+34) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 1.511576765911e+34, best bound 1.511576765911e+34, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 2e+36]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.841280e+36, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.841280e+36 1.8413e+36  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.07 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.84128e+36 

Optimal solution found (tolerance 1.00e-04)
Warning: max bound violation (1.8413e+36) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 1.841279578255e+36, best bound 1.841279578255e+36, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 2e+38]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.620016e+38, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.620016e+38 1.6200e+38  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.62002e+38 
No other solutions better than 1.62002e+38

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (5.6613e+21) exceeds tolerance
Warning: max bound violation (1.6200e+38) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 1.620016032858e+38, best bound 1.620016032858e+38, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 1e+40]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.036415e+40, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.036415e+40 1.0364e+40  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.03641e+40 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (2.8351e+23) exceeds tolerance
Warning: max bound violation (1.0364e+40) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 1.036414667890e+40, best bound 1.036414667890e+40, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 3e+41]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 3.271251e+41, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    3.271251e+41 3.2713e+41  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 3.27125e+41 

Optimal solution found (tolerance 1.00e-04)
Warning: max bound violation (3.2713e+41) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 3.271250576110e+41, best bound 3.271250576110e+41, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 3e+43]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 2.962815e+43, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    2.962815e+43 2.9628e+43  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 2.96282e+43 

Optimal solution found (tolerance 1.00e-04)
Warning: max bound violation (2.9628e+43) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 2.962815154379e+43, best bound 2.962815154379e+43, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 7e+45]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 6.934946e+45, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    6.934946e+45 6.9349e+45  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 6.93495e+45 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (2.7461e+29) exceeds tolerance
Warning: max bound violation (6.9349e+45) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 6.934946129254e+45, best bound 6.934946129254e+45, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 8e+47]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 8.175864e+47, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    8.175864e+47 8.1759e+47  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.08 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 8.17586e+47 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (5.1722e+31) exceeds tolerance
Warning: max bound violation (8.1759e+47) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 8.175863596760e+47, best bound 8.175863596760e+47, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 7e+49]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 7.023673e+49, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    7.023673e+49 7.0237e+49  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 7.02367e+49 

Optimal solution found (tolerance 1.00e-04)
Warning: max bound violation (7.0237e+49) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 7.023673452737e+49, best bound 7.023673452737e+49, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+51]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 4.346852e+51, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    4.346852e+51 4.3469e+51  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 4.34685e+51 

Optimal solution found (tolerance 1.00e-04)
Warning: max bound violation (4.3469e+51) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 4.346852425156e+51, best bound 4.346852425156e+51, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 1e+53]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.197884e+53, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.197884e+53 1.1979e+53  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.19788e+53 
No other solutions better than 1.19788e+53

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (3.4987e+36) exceeds tolerance
Warning: max bound violation (1.1979e+53) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 1.197883647500e+53, best bound 1.197883647500e+53, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 1e+55]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.504445e+55, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.504445e+55 1.5044e+55  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.50445e+55 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (8.6722e+38) exceeds tolerance
Warning: max bound violation (1.5044e+55) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 1.504445294348e+55, best bound 1.504445294348e+55, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 3e+57]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 3.169811e+57, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    3.169811e+57 3.1698e+57  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 3.16981e+57 

Optimal solution found (tolerance 1.00e-04)
Warning: max bound violation (3.1698e+57) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 3.169811402819e+57, best bound 3.169811402819e+57, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 3e+59]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 3.622937e+59, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    3.622937e+59 3.6229e+59  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.06 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 3.62294e+59 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (7.8342e+42) exceeds tolerance
Warning: max bound violation (3.6229e+59) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 3.622936604186e+59, best bound 3.622936604186e+59, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 3e+61]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 3.038758e+61, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    3.038758e+61 3.0388e+61  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 3.03876e+61 
No other solutions better than 3.03876e+61

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (2.5924e+45) exceeds tolerance
Warning: max bound violation (3.0388e+61) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 3.038758114642e+61, best bound 3.038758114642e+61, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 2e+63]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.815526e+63, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.815526e+63 1.8155e+63  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.81553e+63 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (8.0965e+46) exceeds tolerance
Warning: max bound violation (1.8155e+63) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 1.815526345614e+63, best bound 1.815526345614e+63, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 4e+64]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 4.244579e+64, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    4.244579e+64 4.2446e+64  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 4.24458e+64 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (5.1929e+47) exceeds tolerance
Warning: max bound violation (4.2446e+64) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 4.244578773574e+64, best bound 4.244578773574e+64, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 7e+66]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 7.485791e+66, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    7.485791e+66 7.4858e+66  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 7.48579e+66 
No other solutions better than 7.48579e+66

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (7.2848e+50) exceeds tolerance
Warning: max bound violation (7.4858e+66) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 7.485790513512e+66, best bound 7.485790513512e+66, gap 0.0000%
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 157 rows, 124 columns and 370 nonzeros
Variable types: 120 continuous, 4 integer (4 binary)
Coefficient statistics:
  Matrix range     [2e-03, 5e+04]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [1e+00, 1e+69]
Warning: Model contains large rhs
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Presolve removed 155 rows and 122 columns
Presolve time: 0.00s
Presolved: 2 rows, 2 columns, 4 nonzeros
Variable types: 2 continuous, 0 integer (0 binary)

Root relaxation: objective 1.443870e+69, 1 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

*    0     0               0    1.443870e+69 1.4439e+69  0.00%     -    0s

Explored 0 nodes (1 simplex iterations) in 0.05 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 1.44387e+69 

Optimal solution found (tolerance 1.00e-04)
Warning: max constraint violation (9.0940e+52) exceeds tolerance
Warning: max bound violation (1.4439e+69) exceeds tolerance
         (possibly due to large right hand sides)
Best objective 1.443870189013e+69, best bound 1.443870189013e+69, gap 0.0000%


Design_HMPC_suspension2.m
hybrid_suspension_data.m
suspension_hybridmpc2.mdl

Johan Löfberg

unread,
Mar 6, 2019, 2:16:35 AM3/6/19
to YALMIP
You are clearing the constraints for every new k

constraints = [-2500 <= u{k}     <= 2500,

Johan Löfberg

unread,
Mar 6, 2019, 2:17:54 AM3/6/19
to YALMIP
and error checking means you should do something if something fails

[uout, error] = Controller{{currentx,currentr}};
if error
 
% Analyze error code and act accordingly
end



ngoc duy

unread,
Mar 7, 2019, 11:06:12 PM3/7/19
to YALMIP
Dear Professor

I was busy with something so I am sorry for comment late.

As you suggested, I added the code above but the the results are the same. I guess that may be I need to revise the weight matrices or check the constraint conditions? 

Plus, I also didn't understand that why did you say  that I clear the constraints for every new k. What happens if I do that?

Thank you so much

Design_HMPC_suspension2.m

Johan Löfberg

unread,
Mar 8, 2019, 1:50:34 AM3/8/19
to YALMIP
You're still clearin the constrant

 constraints = [];
    objective = 0;
    for k = 1:N
            % Feasible region
    constraints = [-2500  <= u{k}     <= 2500,

should be

 constraints = [];
    objective = 0;
    for k = 1:N
            % Feasible region
    constraints = [constraints, -2500  <= u{k}     <= 2500,


ngoc duy

unread,
Mar 8, 2019, 7:34:36 AM3/8/19
to YALMIP
I revised the code and simulate again but there is error again. The errors say that "Evaluation of expression resulted in an invalid output. Only finite double vector or matrix outputs are supported". In addition, the computed input is disvergent to infinity. 

I think the below constraints are not satisfied, so this makes the solution disvergent. However, I dont have any proof that reveal the reason of disvergence.

    constraints = [constraints, implies(d{k}(1),x{k+1} == A*x{k}+B*u{k}),
                                implies(d{k}(2),x{k+1} == A*x{k}+B*u{k}),
                                implies(d{k}(1),V >= 0,u{k}>=a4*V+b4,u{k}>=a5*V+b5, u{k}<=a1*V+b1,u{k}<=a2*V+b2,u{k}<=a3*V+b3),
                                implies(d{k}(2),V <= 0,u{k}>=a7*V+b7,u{k}>=a8*V+b8,u{k}>=a9*V+b9, u{k}<=a6*V+b6),
                                sum(d{k}) == 1];

Attached files are updated code for simulaton.

Design_HMPC_suspension2.m
hybrid_suspension_data.m
suspension_hybridmpc2.mdl

Johan Löfberg

unread,
Mar 8, 2019, 7:55:41 AM3/8/19
to YALMIP
That error message is not in YALMIP. Hence, your code has either returned some ugly uout involving nans or something similiar, or there is a bug in some other part

You're still not doing any error checking, which of course would be the very first thing you would add when you are trying to debug an issue

and again, don't do
 implies(d{k}(1),x{k+1} == A*x{k}+B*u{k}),
                               implies(d{k}(2),x{k+1} == A*x{k}+B*u{k}),

as it is equivalent to the simple linear constraint

x{k+1} == A*x{k}+B*u{k}

your only complicating the model, and opening up for weird effects due to precision in the MILP solver when you have big-M represented conditions


ngoc duy

unread,
Mar 8, 2019, 8:32:08 AM3/8/19
to YALMIP
In fact, I want to check the error  such as adding break command into the code so that find the solution but I dont have any idea for this action and aslo dont know how to do.  I just can see that the response in the Worksapce appears repeatedly with any hint for revising code and the final error message is as you said that is not in YALMIP.

Right now, even though I simplify the model with the model x{k+1} == A*x{k}+B*u{k},but the error still happens.

As you said, I believe that my code has returned some ugly output involving NaNs but the problem is that I cant figure out how to deal with. I really did not have many experiences in debugging the error.

I know that because I asked you so much so this may be  make you uncomfortable. I am really sorry for my lack of knowledge. 

Johan Löfberg

unread,
Mar 8, 2019, 9:40:21 AM3/8/19
to YALMIP
https://se.mathworks.com/help/matlab/matlab_prog/debugging-process-and-features.html

put a break before call to optimizer. Look at currentx and current r. Step through call to optimizer. Look at uout and error code. If ok, proceed. If it crashes before it comes back into controller code, your bug is in some other part of your model 

ngoc duy

unread,
Mar 8, 2019, 11:10:48 AM3/8/19
to YALMIP
Yes, I added 2 breakpoints the first one is before calling the controller and  the other one is before computing [uout, error].

The code works well before calling the controller and after that also work wells before print uout and error for the first time. The constraints, current x (0;0;0;0), current r(0) are set as I designated. For details, the message is here:


 Controller = optimizer(constraints,objective,opt,{x{1},r},u{1}); % The first step, prepare to call controller

+ Solver chosen : GUROBI-GUROBI
+ Processing objective function
+ Processing constraints
+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 514 rows, 160 columns and 832 nonzeros
Variable types: 120 continuous, 40 integer (40 binary)
Coefficient statistics:
  Matrix range     [2e-03, 7e+08]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [2e-03, 3e+03]
Warning: Model contains large matrix coefficients
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Found heuristic solution: objective 0.0000000
Presolve removed 410 rows and 90 columns
Presolve time: 0.00s
Presolved: 104 rows, 70 columns, 268 nonzeros
Variable types: 70 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 31 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0     cutoff    0         0.00000    0.00000  0.00%     -    0s

Explored 0 nodes (31 simplex iterations) in 0.13 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%
Controller = optimizer(constraints,objective,opt,{x{1},r},u{1}); % The second step, comes back into controller code

In this step, after calling the controller the code still works well. Then, after realizing the uout and error it gets errors after a lot of repeat optimization calculation. The repeat message likes that

+ Calling GUROBI
Academic license - for non-commercial use only
Optimize a model with 514 rows, 160 columns and 832 nonzeros
Variable types: 120 continuous, 40 integer (40 binary)
Coefficient statistics:
  Matrix range     [2e-03, 7e+08]
  Objective range  [1e+00, 1e+00]
  Bounds range     [1e+00, 1e+00]
  RHS range        [2e-03, 3e+03]
Warning: Model contains large matrix coefficients
         Consider reformulating model or setting NumericFocus parameter
         to avoid numerical issues.
Found heuristic solution: objective 0.0000000
Presolve removed 410 rows and 90 columns
Presolve time: 0.00s
Presolved: 104 rows, 70 columns, 268 nonzeros
Variable types: 70 continuous, 0 integer (0 binary)

Root relaxation: cutoff, 31 iterations, 0.00 seconds

    Nodes    |    Current Node    |     Objective Bounds      |     Work
 Expl Unexpl |  Obj  Depth IntInf | Incumbent    BestBd   Gap | It/Node Time

     0     0     cutoff    0         0.00000    0.00000  0.00%     -    0s

Explored 0 nodes (31 simplex iterations) in 0.03 seconds
Thread count was 4 (of 4 available processors)

Solution count 1: 0 

Optimal solution found (tolerance 1.00e-04)
Best objective 0.000000000000e+00, best bound 0.000000000000e+00, gap 0.0000%


"Error in 'suspension_hybridmpc2/MPC'. Evaluation of expression resulted in an invalid output. Only finite double vector or matrix
outputs are supported"
 
So, I can see that there is not bug in  some other part of my model because it  did not crashe before coming back into controller code. Is that right?

Johan Löfberg

unread,
Mar 8, 2019, 11:21:42 AM3/8/19
to YALMIP
Yes, and at that point you very predicably have just received

K>> [uout, error] = Controller{{currentx,currentr}}

uout =

   NaN


error =

     1


Johan Löfberg

unread,
Mar 8, 2019, 11:31:40 AM3/8/19
to YALMIP
and your simulaton setup makes no sense. THe first time the MPC controller sees a non-zero x, it is

K>> currentx

currentx =

    0.0374
   -0.0109
    0.0449
    0.0082


You have constraints in your model on the states, including the initial state, saying the 4th state-variable has to be <= 0.002. I.e, before the controller can react, your simulation has moved the state far outside the allowed region

ngoc duy

unread,
Mar 8, 2019, 11:32:56 AM3/8/19
to YALMIP
I am sorry that I said something wrong. it means something is not fact. 

In fact, the process before and after calling the controller using optimizer command and after coming back into the controller does not appear error message. As you can see in the simulink model, my system is x{k+1}=Ax(k)+Bu(k)+Bw*w(k) with w(k) is disturbance and Bw is disturbance matrix. I did not consider the effect of the disturbance in MATLAB code so you can see that in the constraint condition it is set as [constraint, x{k+1}=Ax(k)+Bu(k)];

After checking simulink I discovered that just before the disturbance, simulation can run well but just after that ( a single bump signal as shown in the picture) applies, the simulation get disvergent solution and aborted with the error message 

"Error in 'suspension_hybridmpc2/MPC'. Evaluation of expression resulted in an invalid output. Only finite double vector or matrix
outputs are supported"

disturbance.jpg

control input.jpg





control input.jpg
disturbance.jpg

ngoc duy

unread,
Mar 8, 2019, 11:48:22 AM3/8/19
to YALMIP
Using this updated function code for HMPC, I got uout and error are all zeros for the first time.


uout =

     0


error =

     0

And the currentx are zeros

K>> currentx

currentx =

     0
     0
     0
     0

I agree that I have constraints saying the 4th state-variable has to be <= 0.002. I definitely set the different constraints for 4 states respectively. But I dont how why the constraints to be same here.
Design_HMPC_suspension2.m
hybrid_suspension_data.m
suspension_hybridmpc2.mdl

Johan Löfberg

unread,
Mar 8, 2019, 12:17:33 PM3/8/19
to YALMIP
As I said, your model doesn't make sense. The disturbance is so strong that it moves the state outside the feasible region in time less than your sample time. This is not a problem with YALMIP or your code. The setup simply don't make sense. You have to 

1. Sample faster to be able to react immediately when the disturbance starts moving the system
2. and/or have weaker constraints
3. and/or not add a constraint on x{1}, as it makes no sense anyway since it is fixed when the MPC controller computes the input. 
4. and/or check that your physical model makes sense for how violently the system reacts to the disturbance

ngoc duy

unread,
Mar 11, 2019, 6:19:43 AM3/11/19
to YALMIP
  Actually, when I reduce the magnitude of the disturbance and sample faster to handle the immediate change of the disturbance, the code works well.  However I have confuse with something

when I set the constraints like below for the states, 
   xmin = [-0.1;-0.2;-0.15;-0.2];
   xmax = -xmin;

the response likes that:

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|    ID|                    Constraint|       Coefficient range|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
|    #1|   Element-wise inequality 2x1|               1 to 2500|
|    #2|   Element-wise inequality 8x1|                0.1 to 1|
|    #3|   Element-wise inequality 8x1|                0.1 to 1|
|    #4|       Equality constraint 4x1|   0.002439 to 4692.3077|
|    #5|                     (implies)|                        |
|    #6|                     (implies)|                        |
|    #7|       Equality constraint 1x1|                  1 to 1|
|    #8|   Element-wise inequality 2x1|               1 to 2500|
|    #9|   Element-wise inequality 8x1|                0.1 to 1|
|   #10|   Element-wise inequality 8x1|                0.1 to 1|
|   #11|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #12|                     (implies)|                        |
|   #13|                     (implies)|                        |
|   #14|       Equality constraint 1x1|                  1 to 1|
|   #15|   Element-wise inequality 2x1|               1 to 2500|
|   #16|   Element-wise inequality 8x1|                0.1 to 1|
|   #17|   Element-wise inequality 8x1|                0.1 to 1|
|   #18|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #19|                     (implies)|                        |
|   #20|                     (implies)|                        |
|   #21|       Equality constraint 1x1|                  1 to 1|
|   #22|   Element-wise inequality 2x1|               1 to 2500|
|   #23|   Element-wise inequality 8x1|                0.1 to 1|
|   #24|   Element-wise inequality 8x1|                0.1 to 1|
|   #25|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #26|                     (implies)|                        |
|   #27|                     (implies)|                        |
|   #28|       Equality constraint 1x1|                  1 to 1|
|   #29|   Element-wise inequality 2x1|               1 to 2500|
|   #30|   Element-wise inequality 8x1|                0.1 to 1|
|   #31|   Element-wise inequality 8x1|                0.1 to 1|
|   #32|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #33|                     (implies)|                        |
|   #34|                     (implies)|                        |
|   #35|       Equality constraint 1x1|                  1 to 1|
|   #36|   Element-wise inequality 2x1|               1 to 2500|
|   #37|   Element-wise inequality 8x1|                0.1 to 1|
|   #38|   Element-wise inequality 8x1|                0.1 to 1|
|   #39|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #40|                     (implies)|                        |
|   #41|                     (implies)|                        |
|   #42|       Equality constraint 1x1|                  1 to 1|
|   #43|   Element-wise inequality 2x1|               1 to 2500|
|   #44|   Element-wise inequality 8x1|                0.1 to 1|
|   #45|   Element-wise inequality 8x1|                0.1 to 1|
|   #46|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #47|                     (implies)|                        |
|   #48|                     (implies)|                        |
|   #49|       Equality constraint 1x1|                  1 to 1|
|   #50|   Element-wise inequality 2x1|               1 to 2500|
|   #51|   Element-wise inequality 8x1|                0.1 to 1|
|   #52|   Element-wise inequality 8x1|                0.1 to 1|
|   #53|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #54|                     (implies)|                        |
|   #55|                     (implies)|                        |
|   #56|       Equality constraint 1x1|                  1 to 1|
|   #57|   Element-wise inequality 2x1|               1 to 2500|
|   #58|   Element-wise inequality 8x1|                0.1 to 1|
|   #59|   Element-wise inequality 8x1|                0.1 to 1|
|   #60|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #61|                     (implies)|                        |
|   #62|                     (implies)|                        |
|   #63|       Equality constraint 1x1|                  1 to 1|
|   #64|   Element-wise inequality 2x1|               1 to 2500|
|   #65|   Element-wise inequality 8x1|                0.1 to 1|
|   #66|   Element-wise inequality 8x1|                0.1 to 1|
|   #67|       Equality constraint 4x1|   0.002439 to 4692.3077|
|   #68|                     (implies)|                        |
|   #69|                     (implies)|                        |
|   #70|       Equality constraint 1x1|                  1 to 1|
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


I dont know why the constraints for all states is set  smaller than  0.1 and I realized that it did not depends on where 0.1 among 4 constraints for 4 states. And if the costraints are set like xmin = [-0.1;-0.02;-0.15;-0.2], all constraints for 4 states will be <=0.02. I believe that this will disturup the simulation  and the simulation results will be more stranger. Actually, the simulation works well with faster sampling time and weaker constraints (xmin = [-10;-10;-10;-10]). But this is not the one I want. After checking the relation between V=x(1)-x(3) and control input, the computed input did not lies on the feasible region I want.

And I have one more question: To remove a constraint on x{1}, can I set xmin = [-Inf;-0.2;-0.15;-0.2]?

Thank you very much







Johan Löfberg

unread,
Mar 11, 2019, 7:53:23 AM3/11/19
to YALMIP
I don't know what you are asking about

ngoc duy

unread,
Mar 11, 2019, 8:02:13 AM3/11/19
to YALMIP
I asked that why  why the constraints for all states is set  smaller than  0.1 when the constraints are set as 

Johan Löfberg

unread,
Mar 11, 2019, 8:17:50 AM3/11/19
to YALMIP
what do you mean with "the constraints for all states is set  smaller than  0.1 "?

ngoc duy

unread,
Mar 11, 2019, 8:46:39 PM3/11/19
to YALMIP
I mean I did not want to set the constraints for all states to be  smaller than  0.1 but as you  seen in the previous comment, it seems that all the states are forcibly set up to be smaller than 0.1. May be I misunderstand the below message so it is not the fact as I said. Actually I set the constraints as  xmin = [-0.1;-0.2;-0.15;-0.2]; xmax = -xmin;

Johan Löfberg

unread,
Mar 12, 2019, 2:38:23 AM3/12/19
to YALMIP
The constraint 3*x >= [-0.1 0.2 0.8] has a *coefficient range* of 0.1 to 3, which you appear to talk about

ngoc duy

unread,
Mar 12, 2019, 3:23:30 AM3/12/19
to YALMIP
I did not understand what did you say. Could u explain it again by an easy way?

Johan Löfberg

unread,
Mar 12, 2019, 3:28:40 AM3/12/19
to YALMIP
The largest (in absolute value) number in A and b in the constraint A*x <= b is 3, while the smallest (non-zero)  is 0.1. Coefficient range is 0.1 to 3

ngoc duy

unread,
Mar 12, 2019, 3:52:08 AM3/12/19
to YALMIP
Thank you for your kind response. 


Reply all
Reply to author
Forward
0 new messages