《二》线性规划的解法——matlab学习

这个专题是matlab的学习,所以这个专题的重点在于如何用matlab来解决这个问题,而具体matlab是如何解决这个问题的我们不做考虑,或者说暂时还不做考虑。本篇文章比较简单,看起来,但是却是我们解决几乎所有相关的线性规划的敲门砖,一个金钥匙,打开思路之后,一切都将不会成为问题。

《二》线性规划的解法——matlab学习_第1张图片
matlab系列

1)一般线性规划用 linprog方法

可参见第一篇文章《一》线性规划的解法——matlab学习

2)整数规划用 intlinprog方法

《二》线性规划的解法——matlab学习_第2张图片
整数规划

这个对matlab的版本是有一定的限制的,应该要求最低版本在R2015a;
针对软件这个东西,一般来说,咱们都下载最新的肯定是没有问题的。

3)01 规划用 intlinprog方法,最后的参数要进行更改。u最大限制设置为1。

   lb设置为zeros(5,1) ;每个参数值的最小值为0
   ub设置为ones(5,1); 就是说5个值,每个值的最大值都是1。
《二》线性规划的解法——matlab学习_第3张图片
解决0-1规划问题

4)非线性规划 fminbnd函数

具体用法
编写我们要写的函数

edit myfun.m

然后再我们的.m文件中编写我们的文件

function f = myfun(x);
f=(3-2*x).^2*x;

然后在我们的最后的命令行中进行编写

[x,result]=fminbnd('fun0',0,1.5) %函数变量x的取值范围在0到1.5之间

或者是这样

[x,result]=fminbnd(@fun0,0,1.5)

注意这里的函数的第一个参数是一个函数对象。

或者是这样

%The argument fun can also be a function handle for an anonymous %function. For example, to find the minimum of the function
%f(x) = x3 – 2x – 5 on the interval (0,2), create an anonymous %function f
f = @(x)x.^3-2*x-5;
%Then invoke fminbnd with
x = fminbnd(f, 0, 2)
%The result is
x =
    0.8165

5)多元函数无约束优化问题 用fminnuc函数或者是fminsearch

《二》线性规划的解法——matlab学习_第4张图片
多元函数解决无约束优化问题

有了以上法宝,差不多所有的线性规划问题都能解决了。当然,以上仅仅是思路,具体的代码到时候自己通过help命令来进行查看就ok。
纸上得来终觉浅,绝知此事要躬行。一起加油~

你可能感兴趣的:(《二》线性规划的解法——matlab学习)