这是09年5月份很用心写的一个 运筹学中的一个程序,使得我对Matlab脚本语言有了一个深入的了解!
但这篇很早已经在百度空间中发表,所以这次呢 作为在CSDN的第一篇博文,我选择它是有其实意义的,那就是要在 Linux 和 Socket 方面的研究将坚持同样的心态。
运筹学是大家所熟悉的,其实也就是问题的最优化求解,然而如何从程序角度去诠释复杂的算法,是一件非常有意思的事情。
由于程序中有大量的注释,所以这里就不再敖述,有问题可以留下评论 我们接着讨论。
注: 除了算法实现,本篇博文还介绍了几个内置函数的使用,因为最近突然想写个建模类似的程序,便首先想到了这个程序,翻出来一看帮助不小~
clear all
clc
%一般凸二次规划有效集算法
% find 函数——集合中找到符合要求的数值位置
% intersect函数——求两个集合的交集
% setdiff函数——求两集合的差
% union函数——求两集合的并集
% 以下面的例题为例
% min x1^2+x2^2-2*x1-4*x2
% s.t. x1 >=0
% x2 >=0
% -x1-x2+1>=0
syms x1 x2
%=============求解任意函数时需要改变的参数=============
f=x1^2+x2^2-2*x1-4*x2;