matlab报错

报错内容:
Solving problem using fmincon.
错误使用 optim.problemdef.OptimizationProblem/solve
Nonlinear problem with integer variables not supported.
出错 Un24 (第 9 行)
[sol, fval, flag] = solve(prob),sol.x
这是为什么啊,想好久都没想出来
看看参数的类型,非线性不支持整数变量
- 这篇博客: Matlab求解优化问题-Optimization Toolbox中的 2.4.1 fmincon函数介绍 部分也许能够解决你的问题, 你可以仔细阅读以下内容或跳转源博客中阅读:

- fmincon输入:
- x = fmincon(fun,x0,A,b)
- x = fmincon(fun,x0,A,b,Aeq,beq)
- x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub)
- x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon)
- x = fmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options)
- x = fmincon(problem)
- fun为目标函数,x0为决策变量初始值;nonlcon为非线性不等式或等式约束,options则是定义求解的一些具体参数,一般使用默认的就好。
- options的文档:https://ww2.mathworks.cn/help/optim/ug/optim.problemdef.optimizationproblem.optimoptions.html
- 输出:
- x=fmincon()
- [x,fval] = fmincon(___)
- [x,fval,exitflag,output] = fmincon(___)
- [x,fval,exitflag,output,lambda,grad,hessian] = fmincon(___)
- x为最优值,fval为取得最优值的决策变量值,exitflag为fmincon 的退出条件的值,output为优化过程信息的结构体