本文介绍了在二次约​​束下最大化线性物镜的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我从一篇论文中获得了一个编程公式,并希望为它提供一个解决特定问题的工具.作者将其描述为线性编程(LP)实例,但是我不确定.配方有点像如下:

I have a programming formulation from a paper and want to give it a tool for solving specific problems. The authors stated it as an linear programming (LP) instance, however I am not sure.Formulation is somewhat like as follows:

max x1+x2+x3...

s.t.

x1.x3+x4.x5 <= 10

x2.x5+x3.x7+x1.x9 <=10

...

我试图通过cplexqcp函数对其进行编程(由于二次约束,但是约束不包含任何x_i^2变量).但是我收到CPLEX Error 5002: Q in %s is not positive semi-definite error.这是具有非凸约束的非线性编程的一个实例吗?我可以使用CPLEX解决它还是使用NLP工具?我是LP/NLP工作人员的新手(不接受与他们有关的任何课程),因此非常欢迎帮助您解释我的问题的详细答案.

I tried to program it through cplexqcp function (due to quadratic constraints, however constraints do not include any x_i^2 variable). However I receive CPLEX Error 5002: Q in %s is not positive semi-definite error. Is this an instance of non-linear programming with non-convex constraints? Can I solve it with CPLEX or use an NLP tool for it? I am newbie to LP/NLP staff (do not take any course regarding them), so really welcome help explaining details of the answers of my questions.

非常感谢.

推荐答案

您发布的问题需要有关变量x1,x2和x3的域的一些信息.

The problem you posted needs some information on the domain of the variables x1, x2 and x3.

如果它们是连续的,则因为x1 * x2的表面只是非线性的,所以无法用线性程序(LP)表示问题.

If they are continuous, there is no way to express your problem as linear program (LP), since the surface of x1*x2 is just non-linear.

如果至少一个产品变量是二进制(整数),则可以对产品进行线性化(因此,如果您有混合整数程序),如此处-由于上述产品的边界"是线性的.

If at least one of the product variables are binary (integer), the product can be linearized (so if you have a mixed integer program) like described in here - since the "borders" of above product are linear.

Cplex基本上可以解决某些二次问题.从您的错误消息来看,您的问题不属于此.因此,要解决此问题,您可能需要使用通用的NLP求解器.可以在此处找到求解器的示例列表,所有这些都可以由AMPL软件触发,或可以独立使用.我不是专家,因此我无法为您的问题提供哪种解决方案的建议.

Cplex can basically solve some classes of quadratic problems. Judging by your error message, your problem does not belong in there. So for solving this problem, you will probably need to stick to a general purpose NLP solver. A sample list of solvers can be found here, all of which can be triggered by the software AMPL, or can be used standalone. I am no expert here, so I can not give advice which solver should be preferred for your problem.

关于,马丁

这篇关于在二次约​​束下最大化线性物镜的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-11 22:10