资源

一个非线性优化问题(oclpe04)

/***************************************************************//*                                                             *//*S A S S A M P L E L I B R A R Y*//*                                                             *//*姓名:oclpe04*//*标题:一个非线性优化问题(oclpe04)*//*产品:或*//*系统:所有*//*关键字:或*//*程序:OPTMODEL*//*数据:*//*                                                             *//*支持:更新:*//*参考编号:*//*MISC:CLP求解器章节中的示例4*//*数学编程书*//*                                                             *//***************************************************************/过程操作模型;设置DOM{1..3}=[(-5..5)(-5..9乘2)(1..10)];在DOM[i]}中,var X{i在1..3}中的整数>=最小值{j<=最大值{j;/*将X[1]和X[2]的域映射到1。。列表大小*/变量Z{1..2}整数;/*映射非线性表达式*/变量Y{1..4}整数;/*使用元素约束表示非连续域*//*负数域和非线性函数*//*Z[2]不会出现在其他任何地方。它的唯一目的是限制X[2]从DOM[2]获取值*/con MapDomainTo1ToCard{i in 1..2}:元素(Z[i],DOM[i]}中的{k,X[i]);/*X[1]上的函数依赖性*//*Y[1]=X[1]^3--对X[1]使用Z[1]以正确索引*/连接Y1:元素(Z[1],DOM[1]中的{k(k^3),Y[1]);/*Y[4]=模数(X[1],4)*/图标Y4:元素(Z[1],{在DOM[1]}中的k(mod(k,4)),Y[4]);/*X[3]上的函数依赖性*//*Y[2]=2^X[3]*/图标Y2:元素(X[3],DOM[3]}中的{k(2^k),Y[2]);/*Y[3]=X[3]^2*/图标Y3:元素(X[3],DOM[3]}中的{k(k^2),Y[3]);/*X[1]-0.5*X[2]+X[3]^2<=50*/con第1项:X[1]-0.5*X[2]+Y[3]<=50;/*模数(X[1],4)+0.25*X[2]>=1.5*/con第二部分:Y[4]+0.25*X[2]>=1.5;/*目标函数:X[1]^3+5*X[2]-2^X[3]*/最大目标=Y[1]+5*X[2]-Y[2];解决;打印X Y Z;退出;