在AMPL IPOPT中找到最佳解决方案,但不满足约束条件

时间:2018-04-11 23:47:10

标签: optimization constraints ampl ipopt

我正在尝试解决这个简单的优化问题,包括凝胶功能

 function gsl_cdf_ugaussian_Qinv;
 var x1 >= 0 ;
 minimize obj: (x1^2)-8*x1;
 subject to const1: x1-4 <= gsl_cdf_ugaussian_Qinv(1- 0.05);

然后我尝试在AMPL中解决这个问题

 ampl: model test.mod;
 ampl: load amplgsl.dll;
 ampl: option solver ipopt;
 ampl: solve;

 EXIT: Optimal Solution Found.
 Ipopt 3.12.4: Optimal Solution Found
 ampl: display x1;
 x1 = 3.99996
 subject to const1:
-gsl_cdf_ugaussian_Qinv(0.95) + x1 <= 4;
 ampl: display -gsl_cdf_ugaussian_Qinv(0.95) + x1;
-gsl_cdf_ugaussian_Qinv(0.95) + x1 = 5.64481

很明显,约束不满足!我想知道为什么以及如何解决这个问题。

谢谢,

Mahraz

1 个答案:

答案 0 :(得分:0)

似乎首先加载库然后加载模型,这个问题就解决了。

ampl: model test.mod;
ampl: load amplgsl.dll