Re: Re: Solving nonlinear inequality constraints

*To*: mathgroup at smc.vnet.net*Subject*: [mg91370] Re: [mg91243] Re: [mg91209] Solving nonlinear inequality constraints*From*: "Stuart Nettleton" <Stuart.Nettleton at uts.edu.au>*Date*: Tue, 19 Aug 2008 07:13:10 -0400 (EDT)*Organization*: University of Technology, Sydney*References*: <200808091147.HAA18525@smc.vnet.net>

On Mon, 18 Aug 2008 03:26:22 +1000, <danl at wolfram.com> wrote: > (1) Get rid of all the Hold usage. If you need it, you are doing > something > wrong. > > (2) If you spend a bit of time debugging this, say, computing various > functions for various small values of t (e.g. inv[2]), you will quickly > learn that you have not defined \[Mu][t_]. This means there will be no > end > of symbolic computation in trying to resolve various inequalities, etc. > > (3) There could be other issues. For one, you might have complex values > which will cause inequalities to be unevaluated. This, too, might be > determined by computing various values (after resolving issue (2) above). > > Daniel Lichtblau > Wolfram Research > > Hi Daniel, Thanks for your response. I have experiemented with your suggestions but question whether your points can be implemented because of the following issues: (1) Hold usage cannot be removed on constraints because they immediately start to evaluate for true/false eg. 0.02*k[periods] <= inv[periods], which is not wanted because they need to remain symbolic to be combined with the objective function (and because they burst the Recursion limit). (2) \[Mu][t_] is deliberately not defined or else the the {x,y,...} in NMinimize[{f,cons},{x,y,...}] are immediately evaluated. As with the constraints, the {x,y,...} need to remain symbolic to be of use in NMinimize. Instead of a using the function that you suggested, I have left the \[Mu][t] to be provided by NMinimize. Given (1) and (2), how can your suggestion can be implemented? (3) Complex values do not arise with any of the cases I can evaluate but it is agreed that this would need to be watched. Interestingly, using NMinimize, 7 periods takes 35 minutes and 8 periods takes 77 minutes. The memory usage is 2.3Gb and 11.3Gb respectively. Using _NumericQ in each of the function definitions actually slows down execution by about 1 minute. I really appreciate your thoughts, Stuart -- Stuart Nettleton FCPA, MBA, MEngSci, BEng(Hons), GradDipAICD Senior Lecturer, Faculty of Engineering Privacy and Confidentiality Notice: The information in this e-mail may be confidential and /or legally privileged. It is intended solely for the addressee. Access to this e-mail by anyone else is unauthorised. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. Virus Information: It is the recipient/client's duty to virus scan and otherwise test the information provided before loading onto any computer system. No warranty is made that this material is free from computer virus or any other defect or error. Any loss/damage incurred by using this material is not the sender's responsibility. -- UTS CRICOS Provider Code: 00099F DISCLAIMER: This email message and any accompanying attachments may contain confidential information. If you are not the intended recipient, do not read, use, disseminate, distribute or copy this message or attachments. If you have received this message in error, please notify the sender immediately and delete this message. Any views expressed in this message are those of the individual sender, except where the sender expressly, and with authority, states them to be the views the University of Technology, Sydney. Before opening any attachments, please check them for viruses and defects.

**References**:**Solving nonlinear inequality constraints***From:*"Stuart Nettleton" <Stuart.Nettleton@eng.uts.edu.au>