big M constraints bringing an infeasinle solution

6 Ansichten (letzte 30 Tage)
Paramvir Singh
Paramvir Singh am 5 Mai 2018
Here Tins is a decision variable of size=(24,1) in my optimization problem. The value of Tins(min_des) =20 while value of Tins(max_des) = 23.
I have tried using the following constraints for the above equation in MILP problem.
(Tmin - Tins) - M1*(1-BCac) <= 0 where M1 is an upper bound on (Tmin - Tins)
(Tins - Tmax) - M2*BCac <= 0 where M2 is an upper bound on (Tins - Tmax)
But if its supposed that Tins=27
then my first constraint gets satisfied with both BCac=1 and BCac=0
although the second constraint is satisfied at BCac=1 only, which is correct.
But due to the first constraint, my program is getting an infeasible solution.
Any help would be deeply appreciated.
  5 Kommentare
Paramvir Singh
Paramvir Singh am 6 Mai 2018
Sorry, the code is running in my software. But the result is no feasible solution. Here, check it out in the pic below:
Mary Fenelon
Mary Fenelon am 9 Mai 2018
Paramvir is using the new syntax for specifying solve options introduced in 18a.
Paramvir, here a couple of suggestions to diagnose the infeasibility:
  • Write a text version of the problem with writeproblem and make sure your constraints are as you expect
  • Often, it's one group of constraints that lead to infeasibility. Try to identify that group by commenting out groups of constraints.

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Paramvir Singh
Paramvir Singh am 10 Mai 2018
Thanks a lot Mam, I too figured it out that solve options is introduced recently in the 2018a version of Matlab. I was giving out of bounds initial value to the Tins variable. Moreover, one of the big M constraint in my main program was given a wrong form. Also there were two equality constraints of Tins variable(both containing its formula for cooling and heating version), I edited that formula and now my program is giving satisfactory results.
Thanks a lot to Matt J for helping me out.

Weitere Antworten (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by