问题遇到的现象和发生背景
有一个优化的问题,使用了cplex库,刚开始学习,目标函数是
怎么代码实现呢
问题相关代码,请勿粘贴截图
``https://img-mid.csdnimg.cn/release/static/image/mid/ask/92738298764613.png "#left")
Cplex cplex = new Cplex();
//lb(low bound)与ub定义决策变量的上下界
double[] lb = {0.0,0.0,0.0};
double[] ub = { double.MaxValue,double.MaxValue,double.MaxValue};
string[] varsName = { "w1","w2","w3"};
//决策变量
INumVar[] numVar=cplex.NumVarArray(count, lb, ub, varsName);
//目标函数
double[] objCoefRisk ={1.0,1.0,1.0};
double[] objCoefReturn = {2.0,2.0,2.0};
double maxSharpe=0.08;
//重点是下面这个怎么写?我是这样写的,现在报错 “错误 CS0019 运算符“/”无法应用于“double”和“ILinearNumExpr”类型的操作数 ”,求指教
cplex.AddMinimize((Convert.ToDouble(cplex.ScalProd(numVar, objCoefRisk)) - maxSharpe) * (-1)/ cplex.ScalProd(numVar, objCoefReturn) );