为了参加数学建模比赛,恶补了一些模型。但是刚开始总是去深挖,结果到比赛的时候还是会很快忘记,所以这次选择只浅显的学习怎么应用这些命令,从而达到更快上手的效果。不在纠结于数学推导。
以下的学习目录,所对应的项目,都有例题,以及代码分析(MATLAB代码)
例如:罚函数法
代码:
test.m
function g=test(x);
M=50000;
f=x(1)^2+x(2)^2+8;
g=f-M*min(x(1),0)-M*min(x(2),0)-M*min(x(1)^2-x(2),0)+ M*abs(-x(1)-x(2)^2+2);
%% 或者是利用Matlab的求矩阵的极小值和极大值函数编写test.m如下:
% function g=test(x);
% M=50000;
% f=x(1)^2+x(2)^2+8;
% g=f-M*sum(min([x';zeros(1,2)]))-M*min(x(1)^2-x(2),0)+ M*abs(-x(1)-x(2)^2+2);
%% 我们也可以修改罚函数的定义,编写test.m如下:
% function g=test(x);
% M=50000;
% f=x(1)^2+x(2)^2+8;
% g=f-M*min(min(x),0)-M*min(x(1)^2-x(2),0)+M*(-x(1)-x(2)^2+2)^2;
main.m
[x,y]=fminunc('test',rand(2,1))
运行结果为:
像这样的例子有很多,我都整理到了一个文件夹中:
有需要的话可以加Q2225811680备注优快云说明来意!
学习目录
- 线性规划
- 可以使用MATLAB里面的linprog命令。
- 单纯形法(最优化方法学过)。
- 指派问题:匈牙利算法(注意使用条件)。
- 对偶线性规划。
- 参数线性规划(研究某一参数连续变化时,最优解发生变化的各临界点的值)。
- 整数规划
- 分枝定界法—可求纯或混合整数线性规划。
- 割平面法—可求纯或混合整数线性规划。
- 隐枚举法—求解“0-1”整数规划。
- )过滤隐枚举法
- )分枝隐枚举法
- 匈牙利法—解决指派问题(“0-1”规划特殊情形)。
- 蒙特卡洛法(随机取样法)—求解各种类型规划。
- 可以使用MATLAB里面的bintprog命令。(我的MATLAB运行不了)
- 非线性规划
- 可以使用MATLAB中的fmincon命令。
2.对于无约束问题
- 1)一维搜索方法(0.618法,抛物线插值法,三次样条插值,切线法,二分法等)
- 2)Fibonacci法
- 3)最速下降法
- 4)Newton法
- 5)变尺度法(DFP)
- 6)直接法(Powell)
- 7)可以使用MATLAB中的fminsearch、fminunc命令
3.对于有约束问题(约束极值问题)
- 可以使用MATLAB中的quadprog命令(二次规划)
- 罚函数法
- 使用MATLAB中的fminbnd命令(求单变量非线性函数在区间上的极小值)
- 使用MATLAB中的fseminf命令
- 使用MATLAB中的fminimax命令(解决目标函数中既有min又有max的问题)
- 利用梯度求解约束优化问题
- 动态规划
- 常见的动态规划问题
- 最短路线问题(可以用sortestpath命令)
- 生产计划问题
- 资源分配问题
动态规划问题要根据具体题目进行具体分析,故没有什么具体的算法,
- 图与网络模型及方法
- 常用图与网络解决的问题
- 最短路问题(SPP)(Dijkstra算法、Floyd算法)
- 公路连接问题
- 指派问题
- 中国邮递员问题(CPP)
- 旅行商问题(TSP)
- 运输问题
- 最大流问题(Ford-Fulkerson算法)
- 排队论模型
- 输入过程与服务时间的分布
- 生灭问题
- M/M/S等待制排队模型(单服务台与多服务台模型)
- M/M/s/s损失制排队模型
- 对策论
- 层次分析法
- 层次分析法
- 插值与拟合
- 插值方法
- 拉格朗日多项式插值
- 牛顿插值
- 分段线性插值
- Hermite插值多项式
- 样条插值
- B样条函数插值方法
- 二维插值
- 曲线拟合的线性最小二乘法
- 多项式拟合方法
- 最小二乘优化
- lsqlin命令
- lsqcurvefit命令
- lsqnonlin命令
- lsqnonneg命令
- 曲线拟合与函数逼近
- 数据的统计描述与分析
- 各种分布函数
- 各种分析指标(均值,方差,峰度等)
- 参数估计
- 假设检验
- 方差分析
- 单因素方差分析(MATLAB中有命令)
- 多因素方差分析(MATLAB中有命令)
- 回归分析
- 数据的标准化处理
- 数据的中心化处理
- 数据的无量纲化处理
- 标准化处理
- 一元线性回归
- 最小二乘估计方法
- 参数性质分析
- 拟合效果分析
- 显著性检验
- 多元线性回归
- 多项式回归
- 非线性回归
- 逐步回归
- 微分方程建模
- 理想火箭模型
- 人口增长模型
- 战争模型
- 稳定状态模型
- 再生资源的管理和开发
- 常微分方程的解法
- 常微分方程的离散化
- 欧拉方法
- 改进的Euler方法
- 龙格—库塔方法
- 线性多步法
- 一阶微分方程组与高阶微分方程的数值解法
- 求解常微分方程的通解(dsolve)
- 差分方程模型
- 蛛网模型
- 商品销售量预测
- 遗传模型
- 常染色体遗传模型
- 常染色体隐形病模型
- X-链遗传模型
- 马氏链模型
- 智力竞赛问题
- 信息的传播
- 带有反射壁的随机徘徊
- 带有吸收壁的随机徘徊
- 动态优化模型
- 变分法
- 最速降线问题
- 最小旋转面问题
- 生产设备的最大经济效益
- 神经网络模型
- BP神经网络算法
- 模拟退火算法
- 偏微分方程的数值解
- 偏微分方程的定解问题
- 偏微分方程的差分解法