summaryrefslogtreecommitdiff
path: root/demos/qpipopt.dem.sce
diff options
context:
space:
mode:
Diffstat (limited to 'demos/qpipopt.dem.sce')
-rw-r--r--demos/qpipopt.dem.sce42
1 files changed, 22 insertions, 20 deletions
diff --git a/demos/qpipopt.dem.sce b/demos/qpipopt.dem.sce
index 8e405e1..3fa7476 100644
--- a/demos/qpipopt.dem.sce
+++ b/demos/qpipopt.dem.sce
@@ -3,6 +3,28 @@ mode(1)
// Demo of qpipopt.sci
//
+//Ref : example 14 :
+//https://www.me.utexas.edu/~jensen/ORMM/supplements/methods/nlpmethod/S2_quadratic.pdf
+// min. -8*x1*x1 -16*x2*x2 + x1 + 4*x2
+// such that
+// x1 + x2 <= 5,
+// x1 <= 3,
+// x1 >= 0,
+// x2 >= 0
+H = [2 0
+0 8];
+f = [-8; -16];
+A = [1 1;1 0];
+conUB = [5;3];
+conLB = [-%inf; -%inf];
+lb = [0; 0];
+ub = [%inf; %inf];
+nbVar = 2;
+nbCon = 2;
+[xopt,fopt,exitflag,output,lambda] = qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB)
+//Press ENTER to continue
+halt() // Press return to continue
+
//Find x in R^6 such that:
A= [1,-1,1,0,3,1;
-1,0,-3,-4,5,6;
@@ -20,24 +42,4 @@ nbCon = 5;
x0 = repmat(0,nbVar,1);
param = list("MaxIter", 300, "CpuTime", 100);
[xopt,fopt,exitflag,output,lambda]=qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB,x0,param)
-// Press ENTER to continue
-halt() // Press return to continue
-
-//Find the value of x that minimize following function
-// f(x) = 0.5*x1^2 + x2^2 - x1*x2 - 2*x1 - 6*x2
-// Subject to:
-// x1 + x2 ≤ 2
-// –x1 + 2x2 ≤ 2
-// 2x1 + x2 ≤ 3
-// 0 ≤ x1, 0 ≤ x2.
-H = [1 -1; -1 2];
-f = [-2; -6];
-A = [1 1; -1 2; 2 1];
-conUB = [2; 2; 3];
-conLB = [-%inf; -%inf; -%inf];
-lb = [0; 0];
-ub = [%inf; %inf];
-nbVar = 2;
-nbCon = 3;
-[xopt,fopt,exitflag,output,lambda] = qpipopt(nbVar,nbCon,H,f,lb,ub,A,conLB,conUB)
//========= E N D === O F === D E M O =========//