比较好的做外贸网站,怎么做一个购物平台,深圳哪家网站建设好,安全网站开发一、非线性规划简介
通过分析问题判断是用线性规划还是非线性规划
线性规划#xff1a;模型中所有的变量都是一次方非线性规划#xff1a;模型中至少一个变量是非线性
非线性规划在形式上与线性规划非常类似#xff0c;但在数学上求解却困难很多
线性规划有通用的求解准…一、非线性规划简介
通过分析问题判断是用线性规划还是非线性规划
线性规划模型中所有的变量都是一次方非线性规划模型中至少一个变量是非线性
非线性规划在形式上与线性规划非常类似但在数学上求解却困难很多
线性规划有通用的求解准确解的方法单纯形法一定能求得最优解非线性规划在数学上没有适合各种问题的通用解法求解严格的数值解但对数学建模来说入门是掌握MATLAB的fmincon函数求近似解即可
二、适用赛题
本质上和线性规划一样适用于最优化求“怎样安排”“最大/小”“最优”等等。常见收益率、病毒传播率、经济增长率等涉及变量比值的规划问题。 三、模型流程
这里的模型流程是和线性规划一样的。 四、流程解析
1.条件假设
这个需要具体题目具体分析有些题目通过一些前提条件假设可以很好地简化题目。
2.提取要素
①决策变量
就是提取出题目中的所有变量。
②目标函数
我们需要求得的值。
③约束条件
通过题目提取出各个变量的范围。
3.调用函数
调用MATLAB自带的fmincon函数
[x, fval] fmincon(fun, x0, A, b, Aeq, beq, lb, ub, nonlcon)
fun单独脚本文件里定义的目标函数或者写在代码文件末尾调用时需加上x0决策变量的初始值影响最终结果A, b线性约束的不等式变量系数矩阵和常数项矩阵≤或Aeq, beq线性约束的等式变量系数矩阵和常数项矩阵lb, ub决策变量的最小取值和最大取值nonlcon非线性约束包括不等式和等式
这里对参数讲解
[x, fval] fmincon(fun, x0, A, b, Aeq, beq, vlb);
这是一个调用fmincon函数的代码其中fun代表调用本文件中定义的函数一般函数写在文件最后面。x0是一个初始值可以通过蒙特卡罗法求一个近似解作为初始值。后面的A, b, Aeq, beq, vlb都是和线性规划一样的因为没有最大取值和非线性约束就不用写。
注意如果有非线性约束写法和fun是一样的不过格式有点区别。
比如现在有非线性约束条件
x1² - x2 x3² ≥ 0
x1 x2² x3² ≤ 20
-x1 - x2² 2 0
x2 2x3² 3
那么nonlcon应该这样写
function [g, h] fun2(x)g [-x(1)^2 x(2) - x(3)^2;x(1) x(2)^2 x(2)^2 - 20];h [-x(1) - x(2)^2 2;x(2) 2*x(2)^2 - 3];
end
可以看到不等式都是标准型且右边都是和0比较了。
具体情况可以去MATLAB官网查询。
最终解出近似解。