<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=utf-8"><meta name=Generator content="Microsoft Word 12 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>It seems that the class of constraints you are trying to solve are called “dis-inequalities” i.e., a <> 0 and maybe be modeled and solved approximately by replacing a with a+ - a- and adding a+ > eps and a- > eps’ where eps and eps’ are a small and different numbers (maybe randomized as well).<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>As the name implies these are dis-junctive (either-or) and can be very difficult to solve with an LP without a spatial branch-and-bound search – I find that these types are constraints are the most difficult to solve for mathematical programs and hence I try to avoid them. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Some success for particular problems have been found in constraint programming applications such as using the “all-different” construct but CP has other issues with respect to continuous variables and optimizing.<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>The other approach is complementarity and smoothing functions but these can also be difficult to solve in practice due to primal and dual degeneracies and sharp dis-continuities of the underlying problem. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>If all else fails you may just what to try a simple heuristic and check if your dis-inequalities are violated at a solution (you may get lucky), if yes at least one is violated then add a “cut” or “nogood” to move away from that solution and solve again in a greedy fashion. If you solve and the modified problem is infeasible then delete a cut, etc. <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'> <o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'>Jeff<o:p></o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><p class=MsoNormal><span style='font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></p><div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'><p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'>From:</span></b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif"'> ipopt-bounces@list.coin-or.org [mailto:ipopt-bounces@list.coin-or.org] <b>On Behalf Of </b>R Tavakoli<br><b>Sent:</b> Thursday, November 11, 2010 2:57 AM<br><b>To:</b> Lewis I<br><b>Cc:</b> ipopt@list.coin-or.org<br><b>Subject:</b> Re: [Ipopt] How to define a non-zero constraint?<o:p></o:p></span></p></div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>yes, it might leads to A=B=0. <o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'>I do not have further comment, so wait for others response, but it is more helpful that you post details of your optimization problem.<o:p></o:p></p><div><p class=MsoNormal>On Thu, Nov 11, 2010 at 11:21 AM, Lewis I <<a href="mailto:lewis369lewis@yahoo.com">lewis369lewis@yahoo.com</a>> wrote:<o:p></o:p></p><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0><tr><td valign=top style='padding:0in 0in 0in 0in'><p class=MsoNormal>But for some reasons, I do not want A and B to become zero after the optimization.<br>And A and B may become zero after the optimization.<o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p><div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Thank you so much.</span><span style='font-size:13.5pt'><o:p></o:p></span></p></div><div><div><p class=MsoNormal><span style='font-size:13.5pt'><o:p> </o:p></span></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Lewis </span><span style='font-size:13.5pt'><o:p></o:p></span></p></div></div></div><div><p class=MsoNormal><o:p> </o:p></p></div></div><div><div><p class=MsoNormal><br>--- On <b>Thu, 11/11/10, R Tavakoli <i><<a href="mailto:rohtav@gmail.com" target="_blank">rohtav@gmail.com</a>></i></b> wrote:<o:p></o:p></p></div><blockquote style='border:none;border-left:solid #1010FF 1.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal><br>From: R Tavakoli <<a href="mailto:rohtav@gmail.com" target="_blank">rohtav@gmail.com</a>><br>Subject: Re: [Ipopt] How to define a non-zero constraint?<br>To: "Lewis I" <<a href="mailto:lewis369lewis@yahoo.com" target="_blank">lewis369lewis@yahoo.com</a>><br>Cc: <a href="mailto:ipopt@list.coin-or.org" target="_blank">ipopt@list.coin-or.org</a><o:p></o:p></p></div><p class=MsoNormal>Date: Thursday, November 11, 2010, 7:33 AM<o:p></o:p></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><o:p> </o:p></p><div><div><p class=MsoNormal>then why not solve for something like this: <o:p></o:p></p><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal>A*B - (A+B) = 0<o:p></o:p></p><div><div><p class=MsoNormal><o:p> </o:p></p><div><p class=MsoNormal>On Thu, Nov 11, 2010 at 10:59 AM, Lewis I <<a href="http://mc/compose?to=lewis369lewis@yahoo.com" target="_blank">lewis369lewis@yahoo.com</a>> wrote:<o:p></o:p></p><table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0><tr><td valign=top style='padding:0in 0in 0in 0in'><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>In fact, now I have many constraints as the following form : (A*B)/(A+B)=1</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>I need to constrain A and B be no-zero in order to prevent the constraints become invalid.</span><o:p></o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Thank you so much.</span><o:p></o:p></p></div><div><div><p class=MsoNormal><o:p> </o:p></p></div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Lewis </span><o:p></o:p></p></div><p class=MsoNormal><br><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>--- On <b>Thu, 11/11/10, R Tavakoli <i><<a href="http://mc/compose?to=rohtav@gmail.com" target="_blank">rohtav@gmail.com</a>></i></b> wrote:</span><o:p></o:p></p></div><blockquote style='border:none;border-left:solid #1010FF 1.5pt;padding:0in 0in 0in 4.0pt;margin-left:3.75pt;margin-top:5.0pt;margin-bottom:5.0pt'><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'><br>From: R Tavakoli <<a href="http://mc/compose?to=rohtav@gmail.com" target="_blank">rohtav@gmail.com</a>><br>Subject: Re: [Ipopt] How to define a non-zero constraint?<br>To: "Lewis I" <<a href="http://mc/compose?to=lewis369lewis@yahoo.com" target="_blank">lewis369lewis@yahoo.com</a>><br>Cc: <a href="http://mc/compose?to=ipopt@list.coin-or.org" target="_blank">ipopt@list.coin-or.org</a><o:p></o:p></span></p></div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Date: Thursday, November 11, 2010, 7:20 AM<o:p></o:p></span></p><div><div><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p> </o:p></span></p><div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>I think hat if you describe the structure of your problem in more details, peoples may give you better solutions. in general there might be several strategies, formulation depend on structure of problem, number of variables (constraints) and behavior of problem in practice.<o:p></o:p></span></p><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'><o:p> </o:p></span></p></div><div><p class=MsoNormal style='margin-bottom:12.0pt'><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>e.g., did you tried your problem without constraints like x!=0, and if the see if any variable violate your constraints, and if doing a little shift in variable and see the objective function value ...<o:p></o:p></span></p><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>On Thu, Nov 11, 2010 at 10:35 AM, Lewis I <<a href="http://mc/compose?to=lewis369lewis@yahoo.com" target="_blank">lewis369lewis@yahoo.com</a>> wrote:<o:p></o:p></span></p><div><div><p class=MsoNormal><span style='font-size:10.0pt;font-family:"Arial","sans-serif"'>Hi<br><br>But how about if I have more than one non-zero constraints (a!=0,b!=0, c!=0,.....)?<br>Thank you.<br><br>Lewis<br><br>--- On Thu, 11/11/10, R Tavakoli <<a href="http://mc/compose?to=rohtav@gmail.com" target="_blank">rohtav@gmail.com</a>> wrote:<br><br>From: R Tavakoli <<a href="http://mc/compose?to=rohtav@gmail.com" target="_blank">rohtav@gmail.com</a>><br>Subject: Re: [Ipopt] How to define a non-zero constraint?<br>To: "Lewis I" <<a href="http://mc/compose?to=lewis369lewis@yahoo.com" target="_blank">lewis369lewis@yahoo.com</a>><br>Cc: <a href="http://mc/compose?to=ipopt@list.coin-or.org" target="_blank">ipopt@list.coin-or.org</a><br>Date: Thursday, November 11, 2010, 6:29 AM<br><br>as almost the same alternative: (a-b)(a+b)>0 and b>0<br>a comment: if you have only one constraint like a!=0 there is a more robust strategy: solve two distinct<br> optimization problems, one with constraint a>0 and one with constraints a<0 (you may replace 0 with a small positive number you want), then the actual solution is the solution to one of these problems with the least objective functional (benefit is the convexity of constraint set in this way).<br><br><br> <br>On Thu, Nov 11, 2010 at 9:33 AM, Lewis I <<a href="http://mc/compose?to=lewis369lewis@yahoo.com" target="_blank">lewis369lewis@yahoo.com</a>> wrote:<br><br><br>Hello,<br><br><br><br>I am try to define a non-zero constraint. i.e. a!=0<br><br>I am trying to use: a*a-0.000001>=0.<br><br>where 0.000001 is the tolerance from zero.<br><br>But I found the outcome was not so good.<br><br>Do anyone has any ideas on modeling a non-zero constraint.<br><br>Thank you so much<br><br><br><br>Regards,<br><br>Lewis<br><br><br><br><br><br><br><br><br><br>_______________________________________________<br><br>Ipopt mailing list<br><br><a href="http://mc/compose?to=Ipopt@list.coin-or.org" target="_blank">Ipopt@list.coin-or.org</a><br><br><a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><br><br><br><br><br><br><br><br><br><br><br><br><br>_______________________________________________<br>Ipopt mailing list<br><a href="http://mc/compose?to=Ipopt@list.coin-or.org" target="_blank">Ipopt@list.coin-or.org</a><br><a href="http://list.coin-or.org/mailman/listinfo/ipopt" target="_blank">http://list.coin-or.org/mailman/listinfo/ipopt</a><o:p></o:p></span></p></div></div></div></div></div></div></div></div></blockquote></td></tr></table><p class=MsoNormal><o:p> </o:p></p></div></div></div></div></div></div></div></div></blockquote></div></td></tr></table><p class=MsoNormal><o:p> </o:p></p></div><p class=MsoNormal><o:p> </o:p></p></div></div></div></body></html>