最优化资源分配问题

最优化资源分配问题

问题提出:现有三个发电厂A,B,C其生产成本和最大发电度数分别如下:
发电厂 生产成本T 最大发电度数
A P^2.2 1千万度
B 2p^1.8 1.5千万度
C 0.8p^2.0 1.8千万度
问:全年总发电量不少于3千万度,如何分配生产任务才能使公司的总发电成本最低。
问题分析:根据对发电厂发电量的要求,给A,B, C三个发电厂分配不同的发电量,生产成本是不一样的,所以,我们需要寻求的是,既要满足发电要求的发电总量,又要使得发电消耗成本最低。则可以得出优化模型为:Min f=p12.2+2*p21.8+0.8p3^2.0
复合形法:
算法原理:符合形来源于无约束优化问题的单纯形法,通过构造符合形来求最优解,新的复合形通过替换旧的复合形中的坏点(目标函数值最大或次大的点)得到,替换方式仍然是单纯性法中的反射,压缩,扩展这几个基本的方法。
算法步骤:用复合形搜索法求约束优化问题的算法如下:
(1)选取复合形{x0,x1,x2,…xn},反射系数 > 1,锁紧系数 (0,1),扩展系数 > 1,收缩系数 (0,1)及精度 > 0,置k = 0;
(2)将复合形的n + 1个顶点按目标函数值的大小 重新编号,f(x0) f(x1) f(x2)…f(xn);
(3)令xn+1=1/n
∑_(j=0)^(n-1)▒xj,若{1/(n+1) ∑_(j=0)n▒〖[f(xj )-f(x(n+1))]2〗}1/2 ,停止迭代,输出x0,否则转(4)。
(4)计算xn+2=xn+1+ (xn+1-xn),检查xn+2是否在可行域内,即是否满足g(xn+2) 0,若不在可行域内,将反射系数减小(在后面MATLAB程序中采用开方的形式减小反射系数)直到xn+2在可行域内。计算f(xn+2),若f(xn+2)<f(x0),转(5)。
(5)计算xn+3=xn+1+ (xn+2-xn+1),检查xn+3是否在可行域内,若不在可行域内,将扩展系数减小(在后面的MATLAB程序中采用开方的形式减小扩展系数),直到xn+3在可行域内。若f(xn+3)<f(x0),令xn=xn+3,转(2),否则,转(6);
(6)令xn=xn+2,转(2);
(7)令xn={xi|f(xi)= min(f(xn),f(xn+2))},计算xn+4=xn+1+ (xn-xn+1),检查xn+4是否在可行域内,若不在可行域内,将压缩系数减小(在后面的MATLAB程序中采用减半的形式减小压缩系数),直到xn+4在可行域内。
若f(xn+4)<f(xn),令xn=xn+4,转(2),否则转(8);
(8)令xj=x0+ (xj-x0),j=0,1,2…,n,转(2)。

优化模型
目标函数与约束条件分别如下:
Min f=p12.2+2*p21.8+0.8*p3^2.0
s.t. p1+p2+p3=3000
0<=p1<=1000
0<=p2<=1500
0<=p3<=1800

代码:
Fun.m
function f=fun(x)
f=x(1)2.2+2*x(2)1.8+0.8*x(3)^2.0;

mycon.m
function [c,ceq]=mycon(x)
c(1)=-x(1)-x(2)-x(3);
ceq=[];

main.m
A=[-1 -1 -1];
b=(-3000);
vlb=[0;0;0];
vub=[1000;1500;1800];
x0=[0;0;0];
[x,fval]=fmincon(@fun,x0,A,b,[],[],vlb,vub,@mycon);

数据:
Fval 2.474853350725768e+06
X [2.852103962403294e+02;1.499999999711306e+03;1.214789604151252e+03]

ABC的 X1=285.21 x2=1500 x3=1214.8
成本 Fval=2474.9

小结:
约束优化的算法基本上可以分为两大类:直接法和间接法。间接法是将约束优化问题转化为无约束优化问题来求解,直接法不需要将问题转化为无约束问题,一般包括可行方法,坐标轮换法等。本次作业探讨的罚函数,比较关键的是要找好罚函数。在复合形法中,需要给出初始的复合形,而初始复合形必须在可行域内,初始复合形可人工给出,也可利用随机法产生,根据难易程度自行决定,但为了满足可行域条件,必须检查每个顶点是否在可行域内,这是很关键的一步。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值