help-glpk
[Top][All Lists]

## Re: [Help-glpk] var between 2 parameters

 From: Paolo Tofoni Subject: Re: [Help-glpk] var between 2 parameters Date: Thu, 9 Aug 2012 16:26:52 +0200

I'm sorry, you're right, I modify the model as following without any result:

s.t. k2 {(m,k) in FERMI, (j,p,m) in V_TECNOLOGICI}:
start[j,p,m] <= inizio_fermo[m,k]+ BigP * check_t1[m,k,j,p];

s.t. k3 {(m,k) in FERMI, (j,p,m) in V_TECNOLOGICI}:
inizio_fermo[m,k] - BigP * (1 - check_t1[m,k,j,p]) <=  (start[j,p,m] + lt[j,p,m]);

it should work like:

if   start < inizio < start +lt
then check_t1 = 0 else check_t1 = 1;

I'm becoming crazy!!! Thanks in advance for youre help.

2012/8/9 Andrew Makhorin

>
>
> var check_t1 {(m,k) in FERMI, (j,p,m) in V_TECNOLOGICI } binary;
> param BigP :=  max {(j,p) in FERMI} fine_fermo[j,p];
>
>
> s.t. k2 {(m,k) in FERMI, (j,p,m) in V_TECNOLOGICI}:
> inizio_fermo[m,k] <= start[j,p,m] + BigP * check_t1[m,k,j,p];
>
> s.t. k3 {(m,k) in FERMI, (j,p,m) in V_TECNOLOGICI}:
> (start[j,p,m] + lt[j,p,m]) - BigP * check_t1[m,k,j,p]<=
> inizio_fermo[m,k];
>
> where
>
> start[j,p,m],   lt[j,p,m])  are vars and inizio_fermo[m,k] are parmas.
>
>  I always obtain all vars set to 0 and the reponse:
>
>         OPTIMAL SOLUTION FOUND
>         Integer optimization begins...
>         Gomory's cuts enabled
>         MIR cuts enabled
>         Cover cuts enabled
>         Clique cuts enabled
>         Creating the conflict graph...
>         The conflict graph has 2*5 vertices and 9 edges
>          (1; 0)
>         Warning: numerical instability (dual simplex, phase II)
>         Warning: numerical instability (dual simplex, phase II)
>         Cuts on level 0: gmi = 1; mir = 36; cov = 2;
>         Cuts on level 0: mir = 36; cov = 2;
>         Cuts on level 0: mir = 36; cov = 2;
>         +   620: mip =     not found yet >=     tree is empty
>          (0; 1)
>         PROBLEM HAS NO INTEGER FEASIBLE SOLUTION
>
> but it's not the best solution ... what can I do to solve the issue?

The message 'PROBLEM HAS NO INTEGER FEASIBLE SOLUTION' means that your
mip has no solution which satisfies to all constraints.

Check constraints in your model, because if check_t1 = 0, you have

k2: start >= inizio_fermo
k3: start <= inizio_fermo - lt

that is obviously wrong.