数学中国

 找回密码
 注册
搜索
热搜: 活动 交友 discuz
查看: 5035|回复: 8

求大神用MATLAB帮忙,数学建模要写论文

[复制链接]
发表于 2015-6-15 11:11 | 显示全部楼层 |阅读模式
题目:
某人打算购买一辆新轿车,轿车的售价是12万元人民币。轿车购买后,每年的各种保险费、养护费等费用(如表1 所示)。如果在5 年之内将轿车售出,并再购买新车,5 年之内的二手车销售价(由表2 所示)。
请设计一种购买轿车的方案,使5 年内用车的总费用最少。

表1  轿车的维护费                                    
车龄/ 年         0       1       2       3       4     
费用/ 万元       2       4       5       9       12   

表2  二手车的售价                                    
车龄/ 年         1       2       3       4       5     
费用/ 万元       7       6       2       1       0     


万分感谢!!!
 楼主| 发表于 2015-6-15 11:13 | 显示全部楼层
有木有大神帮忙解救一下,万分感谢啊
 楼主| 发表于 2015-6-15 15:07 | 显示全部楼层
求帮忙{:soso_e109:}
发表于 2015-6-15 18:08 | 显示全部楼层
clc;clear;
maintain=[2 4 5 9 12];%0 1 2 3 4
buy=[12 7 6 2 1 0];%0 1 2 3 4 5
n=5;
state=maintain+buy(1:5)
for T=2:n
    condition1=zeros(n);%买新车
    for i=1:n
        condition1(i,: )=condition1(i,: )+state-buy(2:n+1);
        condition1(:,i)=condition1(:,i)+(maintain+buy(1:n))';
    end
    condition2=inf*ones(n);%不买新车
    for i=1:n-1
        condition2(i+1,i)=state(i)+maintain(i+1);
    end
    for i=1:n
        for j=1:n
            con1=condition1(i,j);
            con2=condition2(i,j);
            [min1,min2]=min([con1,con2]);
            condition(i,j)=min1;
            select1(i,j)=min2;
        end
    end
    for i=1:n
        [state(i),select2(i)]=min(condition(i,: ));
    end
    condition
    select1
    select2
    state
end
state=state-buy(2:n+1)

这种题目要用动态规划去做
考虑题意:
        买了轿车要立刻交维护费
        买新车时把旧车卖掉
        不买新车时交下一年维护费
        求总费用不同、车龄相同的局部最优等价于求全局最优
输出结果是最小总费用为25(万元)
具体决策:
        第1年买二手车(1):7+4
        第2年卖掉二手车(2)再买二手车(1):-6+7+4
        第3年同上:-6+7+4
        第4年同上:-6+7+4
        第5年同上:-6+7+4
        第6年把二手车(2)卖掉:-6
 楼主| 发表于 2015-6-15 21:20 | 显示全部楼层
fungarwai 发表于 2015-6-15 18:08
clc;clear;
maintain=[2 4 5 9 12];%0 1 2 3 4
buy=[12 7 6 2 1 0];%0 1 2 3 4 5

谢谢大神
 楼主| 发表于 2015-6-15 21:20 | 显示全部楼层
fungarwai 发表于 2015-6-15 18:08
clc;clear;
maintain=[2 4 5 9 12];%0 1 2 3 4
buy=[12 7 6 2 1 0];%0 1 2 3 4 5

非常谢谢大神
发表于 2015-6-17 12:18 | 显示全部楼层
若题意不许买二手车

clc;clear;
maintain=[2 4 5 9 12];%0 1 2 3 4
sell=[7 6 2 1 0];%1 2 3 4 5
buy=12;n=5;
state=maintain(1)+buy(1)
for t=1:n-1
    condition=inf*ones(n);
    for i=1:t
        condition(1,i)=state(i)+buy-sell(i);
        condition(i+1,i)=state(i)+maintain(i+1);
    end
    condition
    for i=1:n
        state(i)=min(condition(i,: ));
    end
    state
end
state=state-sell

买新车:12+2=14
买新车:14+12-7=19
买新车:19+12-7=24
买新车:24+12-7=29
买新车:29+12-7=34
卖车:34-7=27
 楼主| 发表于 2015-6-27 13:17 | 显示全部楼层
fungarwai 发表于 2015-6-17 12:18
若题意不许买二手车

clc;clear;

谢谢大神帮忙!
 楼主| 发表于 2015-6-27 13:41 | 显示全部楼层
fungarwai 发表于 2015-6-17 12:18
若题意不许买二手车

clc;clear;

能说一下变量代表什么吗?
什么i之类的
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|数学中国 ( 京ICP备05040119号 )

GMT+8, 2025-5-14 00:53 , Processed in 0.086362 second(s), 15 queries .

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表