linearize the a*b equation

81 views
Skip to first unread message

Fatemi

unread,
May 29, 2012, 4:06:48 AM5/29/12
to gamsworld
Dear readers,

I want to linearize the following equatuion in the format of MILP:
c=a*b;
where 'a' and 'b' are continous variable and also 0<a<1; 0<=b<=1.

Thanks in advance.

Mohammad Reza Abbasi

unread,
May 29, 2012, 4:53:14 AM5/29/12
to gams...@googlegroups.com
Dear

Are you sure that it is possible to transform a continuous variable into an integer one? May I know what is your model is all about?

Best Regards,


Mohammad Reza Abbasi, AMIChemE
Postgraduate student (M. Eng.)
Process Systems Engineering Centre
Faculty of Chemical Engineering
Universiti Teknologi Malaysia (UTM)
81310 Skudai, Johor, Malaysia







--
You received this message because you are subscribed to the Google Groups "gamsworld" group.
To post to this group, send email to gams...@googlegroups.com.
To unsubscribe from this group, send email to gamsworld+...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/gamsworld?hl=en.


Fatemi

unread,
May 29, 2012, 7:12:25 AM5/29/12
to gams...@googlegroups.com
I want to linearize the following equation in the format of MILP:
D=a*b*c;
where 'a' and 'b' are continuous variables with 0<a<1; 0<=b<=1. 'c' is binary variable.

Thanks in advance.

olcay emin

unread,
May 29, 2012, 9:56:45 AM5/29/12
to gams...@googlegroups.com
 You can use McCormick linearization.
OF=e=x1-x2-y1-x1*y1
OF=e=x1-x2-y1-w1
*x1*y1
w1_mc1.. x1L*y1+y1L*x1-x1L*y1L-w1=l=0;
w1_mc2.. x1U*y1+y1U*x1-x1U*y1U-w1=l=0;
w1_mc3.. -x1U*y1-y1L*x1+x1U*y1L+w1=l=0;
w1_mc4.. -x1L*y1-y1U*x1+x1L*y1U+w1=l=0;
x1L=x1lower
x2U=x2 upper

2012/5/29 Fatemi <yazdan...@gmail.com>
I want to linearize the following equation in the format of MILP:
D=a*b*c;
where 'a' and 'b' are continuous variables with 0<a<1; 0<=b<=1. 'c' is binary variable.

Thanks in advance. --
You received this message because you are subscribed to the Google Groups "gamsworld" group.
To view this discussion on the web visit https://groups.google.com/d/msg/gamsworld/-/irWt7mO2eL4J.

Fatemi

unread,
May 29, 2012, 11:27:52 AM5/29/12
to gams...@googlegroups.com

 

Thanks a lot. But I cannot relate my function (D=a*b*c) with your function.I would appreciate if you made it clear for me.

In other words, how can I use your suggested equation in order to liberalize my function?

Regards

Arne Stolbjerg Drud

unread,
May 29, 2012, 11:52:28 AM5/29/12
to gams...@googlegroups.com

Fatima:

 

You expression is nonlinear and it cannot be linearized. One of the answers gave you lower and upper bounds on D as functions of a, b, and c, and their bounds this is a good as it gets. For the particular bounds you have on your variables the tightest possible linear inequalities on D become:

 

D =G= 0; (not needed for a positive variable)

D =L= a;

D =L= b;

D =L= c;

 

If you cannot live with an approximation you must use an MINLP solver instead, in which case you can use your nonlinear equation directly.

 

Regards

 

Arne

 

-------------------------------------------

Arne Stolbjerg Drud

ARKI Consulting & Development A/S

Bagsvaerdvej 246A, DK-2880 Bagsvaerd, Denmark

Phone: (+45) 44 49 03 23, Fax: (+45) 44 49 03 33, email: ad...@arki.dk

--

Fatemi

unread,
May 30, 2012, 6:43:16 AM5/30/12
to gams...@googlegroups.com

thanks a lot Arne.
but can you help me with
McCormick linearization?



Reply all
Reply to author
Forward
0 new messages