matlab实验案例,节水洗衣机

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

init1996b Nmin = fix( log(ef)/ log((m/Vmax)) Nmax = fix( log(ef)/ log(m/VminM) ) + 1 opti_s = 1e6; for n=Nmin:Nmax,%穷举所有可能洗衣次数的模型 lb=[]; ub=[]; lb(1)= VminM; ub(1)= Vmax; if n>=2, for j=2:n, lb(j) = VminM- m; ub(j) = Vmax-m; end end lb ub [x,fval,exitflag]=fmincon('myobj1996b',VminM*ones(1,n), [],[],[],[],... lb,ub,'mycon1996b') if fval < opti_s, opti_n = n; opti_s = fval; opti_x = x; end end opti_n opti_s opti_x m 1.1.6.6 解析法运行结果: ) +
, 经过迭代得到 1.1.5 模型建立 根据以上分析,可以建立解决洗衣机节水的非线性最优化模型。 (1) 1.1.6 模型求解 1.1.6.1 解析求解 如果(1)存在最优解,则可以证明(证明从略)。 n的取值讨论 (1) 当刚好为,则有最多洗涤轮数。由,得 (2) 当刚好为,则有最少洗涤轮数。由,得 综上所述,n的取值范围为。 1.1.6.2 其他求解方法 所建立模型为非线性最优化模型,故这里采用Matlab求解非线性规 划的函数fmincon求解。 1.1.6.3 数据初始化程序init1996b.m %1996B洗衣机节水模型 %参数与数据初始化 % af =0.60;%脱水后衣服含水质量与干衣服质量比(常数) beta = 5.0;%单位质量的衣服完全浸泡最低所需水量(常量); Vmin = 24;%衣服完全浸泡的状态下为洗衣机能正常运行需注入的最 低水量(升); ef= 0.001;%衣服的清洁度(常量,洗衣的衣服上污量与 之比); M = 5;%干衣服的质量(kg); m = af*M;%衣服脱水后衣服含水质量(kg) VminM = beta*M + Vmin;
洗衣机的节水优化模型 摘要 本文通过分析洗衣机的洗衣过程,认为是一次性溶解、多次 稀释的过程。据此建立非线性规划模型,并利用迭代公式和最优化原 理,得出最少用水量的判断公式和代数解。以海棠洗衣机为例,通过 对比,利用我们的模型算出的用水量比厂家提供的数据要少,从而说 明所建模型的优越性。最后,根据模型解,给出最少用水量与脏衣服 的重量的关系图,并从中得出有趣的结论,也给厂家提供一个节约用 水的模型。 1.1.1 问题重述与分析 对洗衣机的运行进行设计,主要目的是为了节约用水量。在满足洗 涤效果的前提下使得用水量最少。因此,这是一个典型的最优化问 题,目标为洗衣总用水量最少,主要的决策为洗多少轮以及每轮加水 量的问题。而一般洗衣只是第一次加水漂洗时才放洗涤剂,而过后则 是清水漂洗,通过化学原理,可以将第1轮洗涤后的各轮洗涤看成是不 断的稀释过程。为了评价洗涤效果,可用衣服上残留的污物质量与洗 涤前污物质量之比作为评价指标。在设计每轮加水量时,要考虑洗衣 机本身洗衣同的最大容积,运行的最低加水量。 1.1.2 基本假设及说明 1. 洗衣机一次用水量有最高限和最低限,能连续补充在限度内的 任意水量; 2. 洗衣机每轮运行过程为:加水-漂洗-脱水; 3. 仅在第一轮运行时加上洗涤剂,在后面的运行轮中仅有稀释作 用; 4. 洗衣时所加的洗涤剂适量,漂洗时间足够,能使污垢一次溶 解,忽略不能溶解的污垢; 5. 脱水后的衣服质量与干衣服的重量成正比; 6. 每缸洗衣水只用一次; 1.1.3 符号和变量说明 :污物的质量(kg); :第i轮运行时污物浓度(kg/升); n:洗衣服时洗衣机运行轮数(次); :第i轮用水量(升); :干衣服的质量(kg);
1
实验案例 1.1 案例:节水洗衣机 1.1.1 问题重述与分析 1.1.2 基本假设及说明 1.1.3 符号和变量说明 1.1.4 建模准备 1.1.5 模型建立 1.1.6 模型求解 1.1.7 思考题
1 实验案例
1.1 案例:节水洗衣机 问题:1996年全国赛B题来自百度文库节水洗衣机
我国淡水资源有限,节约用水人人有责,洗衣机在家庭用水中 占有相当大的份额,目前洗衣机已非常普及,节约洗衣机用水十 分重要。假设在放入衣物和洗涤剂后洗衣机的运行过程为:加水 —漂洗—脱水—加水—漂洗—脱水— … —加水—漂洗—脱水 (称“加水—漂洗—脱水”为运行一轮)。请为洗衣机设计一种 程序(包括运行多少轮、每轮加水量等),使得在满足一定洗涤 效果的条件下,总用水量最少。选用合理的数据进行运算,对照 目前常用的洗衣机的运行情况,对你的模型和结果出评价。
opti_s opti_x m 1.1.6.5 模型求解程序(直接非线性规划求解) 目标函数m文件:myobj1996b.m function r=myobj1996b(x) %1996年B题目标函数:总需水量 r= sum(x); 约束条件m文件:mycon1996b.m function [C,Ceq]= mycon1996b(x) %1996年B题采用非线性规划求解算法求解的约束条件函数 global m ef %全局变量 n= length(x);%洗衣轮次 tmpX = x(1);%x1 if n>=2, for i=2:n, tmpX=tmpX*(x(i)+m);%x1*(x2+m)*(x3+m)*...* (xn+m) end end C=m^n -tmpX*ef ;%只有一个约束,决策变量约束用fmincon的 参数lb,ub来处理 %C=m^n/tmpX - ef ;%只有一个约束,决策变量约束用fmincon的 参数lb,ub来处理 Ceq=[]; 主程序:solv1996b_2 %1996B洗衣机节水模型 %参数与数据初始化 %init
:衣服脱水后衣服含水质量(kg); :衣服的清洁度(常量,洗衣的衣服上污量与之比); :洗一次衣服的总用水量(升); :洗衣机一次洗衣的最大量(kg); :脱水后衣服含水质量与干衣服质量比(常数);显然 :洗衣机一次注水最高限(升); :衣服完全浸泡的状态下为洗衣机能正常运行需注入的最低水量 (升); :单位质量的衣服完全浸泡最低所需水量(常量); 1.1.4 建模准备 (1) 由化学中的洗涤原理知,有助于洗涤作用的三个因 素: 1、 表面活性(以肥皂为代表的活性剂产生洗涤作用的各 种物质之通称); 2、 界面电(配入洗涤剂中的碱和磷酸盐等无机助剂的作 用); 3、 机械力和流水力(由于水的流动产生机械力) 在洗衣过程中,一般之在第一次加入洗涤剂,在第二次及以后,不 再加入洗涤剂,从而,使有助于洗涤的三个因素的前两个不存在,只 剩下水的流动力的作用,洗涤作用因此很微弱。于是假设污物的第一 次被洗涤,接下来的过程只是污物的稀释过程是合理的。 (2)实际生活经验可知,在衣服完全浸泡的基础上,洗衣机还需有一 定的富裕水量才能使其正常运行。一种衣服完全浸泡所需水量是衣服 质量的倍,则质量为的衣服使洗衣机能洗的最少水量。 脱水后剩下水量是衣服质量的倍,。对于普通衣服可视为常数。实 验测定1kg混合干衣服浸泡所需水量,脱水后衣服含水量与干衣服质量 之比,如表1。 0.5 水量 2.56 0.3 计算可得。 各次运行时,污物的浓度为: 1.0 5.02 0.61 1.5 7.48 0.92 2.0 9.87 1.20 2.5 12.3 1.52 3.0 15.7 1.88 3.5 18.6 2.15
solv1996b_1 Nmin = 3 Nmax = 3 t1 = 30 t2 = 49 S= 141 opti_n = 3 opti_s = 141 opti_x = 49 46 m= 3 46
1.1.6.7 直接非线性规划求解运行结果 solv1996b_2 Nmin = 3 Nmax = 3 lb = 49 46 ub = 60 57
Vmax
= 60;%洗衣机一次注水最高限(升);
1.1.6.4 模型求解程序(根据n穷举求解) 程序:solv1996_1.m %init init1996b Nmin = fix( log(ef)/ log((m/Vmax)) Nmax = fix( log(ef)/ log(m/VminM) ) + 1 opti_s = 1e6; for n= Nmin:Nmax, t1= m/(ef)^(1/n) t2= VminM onex= max(m/(ef)^(1/n),VminM); S = n*onex-(n-1)*m x=[]; x(1)=onex; if n>=2, for i=2:n, x(i)=onex-m; end end %test=sum(x)-S; if S < opti_s, opti_n = n;%洗衣轮次 opti_s = S;%存储最少所需水量 opti_x = x; end end opti_n ) +
46 57
Warning: Trust region method does not currently solve this type of problem, switching to line search.
> In E:\MATLABR11\toolbox\optim\fmincon.m at line 190 In F:\PROGRAM\mbookfile2002\solv1996b_2.m at line 24 Optimization terminated successfully: Search direction less than 2*options.TolX and maximum constraint violation is less than options.TolCon Active Constraints: 1 2 3 x= 49 46 46 fval = 141 exitflag = 1 opti_n = 3 opti_s = 141 opti_x = 49 46 46 m= 3 结果对比发现,两种求解方法得到的洗衣方案相同,均洗3轮,共 需水141,第1,2,3轮分别加水49升,46升,46升。 1.1.7 思考题 求解模型(1)给出解析解,并与前面的非线性规划模型的解对比。
相关文档
最新文档