zoukankan      html  css  js  c++  java
  • MATLAB之数学建模:深圳市生活垃圾处理社会总成本分析

    MATLAB之数学建模:深圳市生活垃圾处理社会总成本分析

    注:MATLAB版本--2016a,作图分析部分见《MATLAB之折线图、柱状图、饼图以及常用绘图技巧》

    一.现状模式下的模型

    %第一题:建立总成本分析模型/年:按现状分析
    % 总成本=直接成本 +经济技术成本 + 社会成本
    function dataPro = Total_Cost_Analysis(year)
    %垃圾每年预测表:2017-2030
    table = [ 6.4450e+06   6.8317e+06 7.2416e+06   7.6761e+06   7.9832e+06   8.3025e+06   8.6346e+06 8.9800e+06   9.3392e+06   9.6193e+06   9.9079e+06  1.0205e+07   1.0511e+07   1.0827e+07];  %垃圾总量每年数值(2017-2030)
    rubbish_quantity = table(year-2016);
    %将时间分期处理:2017-2020,2021-2025,2026-2030
    switch year
        case { 2017,2018,2019,2020}          %近期
            rubbish_num_burn=215*10^4;            
            rubbish_num_landfill = rubbish_quantity-rubbish_num_burn;
            class_cost = 0;           
            handle_cost =  rubbish_num_landfill*60+ rubbish_num_burn*100;
            transport_cost = 0.5*rubbish_num_landfill*60+0.5*rubbish_num_landfill*70+...
                                        0.5*rubbish_num_burn*60+0.5*rubbish_num_burn*70 ;  
            social_cost =132*rubbish_quantity;                    
            technology_cost=1300*10^4;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
            subsidy = 100*rubbish_quantity;        %前期 100,中期50,后期取消,成本计算取负
            profit =  (10^(-4))*rubbish_quantity/102.49*10^8 ;
        case {2021,2022,2023,2024,2025}          %中期
             rubbish_num_burn =215*10^4;            
             rubbish_num_landfill = rubbish_quantity-rubbish_num_burn;
             class_cost = 0;         
             handle_cost =  rubbish_num_landfill*60+ rubbish_num_burn*150;
             transport_cost = rubbish_quantity*100;  
             social_cost =2*132*rubbish_quantity;                 
             technology_cost=1300*10^4;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
             subsidy = 50*rubbish_quantity;         %前期 100,中期50,后期取消,成本计算取负
             profit =  (10^(-4))*rubbish_quantity*(1/104.15+1/100.1+1/317.46)*10^8 +rubbish_quantity/1.54*10^4;       %不同时间 定值
            
        case  {2026,2027,2028,2029,2030}        %远期
             rubbish_num_burn =215*10^4;        
             rubbish_num_landfill = rubbish_quantity-rubbish_num_burn;
             class_cost = 0;           
             handle_cost =  rubbish_num_landfill*60+ rubbish_num_burn*180;
             transport_cost = rubbish_quantity*100;  
             social_cost =2*132*rubbish_quantity;                  
             technology_cost=1300*10^4;                      % 湿处理分期:10^8,0.7*10^8,0.4*10^8
             subsidy = 0*rubbish_quantity;                     %前期 100,中期50,后期取消,成本计算取负
             profit =  (10^(-4))*rubbish_quantity*(1/104.15+1/50.05+1/222.22)*10^8 +rubbish_quantity/1.54*10^4 ;        %不同时间 定值                      
        otherwise
             msgbox('亲,请重新输入年份:');       
    end
    
    %设施投资: 
    equipment_cost = 1.56*10^8;   
    
    %输出,分析:dataPro为数据集合
    profit =profit *0.15;    
    direct_cost =  class_cost + transport_cost + equipment_cost + handle_cost;
    total_cost = direct_cost+technology_cost +social_cost+subsidy-profit  ;
    %dataPro(11): 分类,收运,设施,处理,技术,社会,补贴,收益,直接,总,均
    dataPro = [ class_cost,transport_cost,equipment_cost,handle_cost, ...
                         technology_cost,social_cost,subsidy,profit,direct_cost,total_cost,total_cost/rubbish_quantity];
           
    end
    
    

    二. 模式一

    %模式一:总成本=直接成本 +经济技术成本 + 社会成本
    function dataPro = Total_Cost_Analysis_model1(year)
    %垃圾每年预测表:2017-2030
    table = [ 6.4450e+06   6.8317e+06 7.2416e+06   7.6761e+06   7.9832e+06   8.3025e+06   8.6346e+06 8.9800e+06   9.3392e+06   9.6193e+06   9.9079e+06  1.0205e+07   1.0511e+07   1.0827e+07];  %垃圾总量每年数值(2017-2030)
    rubbish_quantity = table(year-2016);
    %将时间分期处理:2014-2020,2021-2025,2026-2030
    switch year
        case {2016,2017,2018,2019,2020}
            rubbish_num_burn=215*10^4;             %近期
            rubbish_num_landfill = rubbish_quantity-rubbish_num_burn;
            transport_cost = 0.5*rubbish_quantity*60+0.5*rubbish_quantity*70; 
            handle_cost =  rubbish_num_landfill*60+rubbish_num_burn*100; 
            social_cost = 132*rubbish_quantity;                 
            technology_cost=1300*10^4;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
            subsidy = 100*rubbish_quantity;       %前期 100,中期50,后期取消,成本计算取负
            profit = (10^(-4))*rubbish_quantity/102.49*10^8 ;            %不同时间 定值
             
        case {2021,2022,2023,2024,2025}
             transport_cost = rubbish_quantity*100;  
             handle_cost =  rubbish_quantity*150; 
             social_cost =8*132*rubbish_quantity;                    
             technology_cost=1300*10^4;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
             subsidy = 50*rubbish_quantity;       %前期 100,中期50,后期取消,成本计算取负
             profit = (10^(-4))* rubbish_quantity*(1/52.1+1/100.1 )*10^8 +rubbish_quantity/0.77*10^4;                           
             
        case  {2026,2027,2028,2029,2030}
             transport_cost = rubbish_quantity*100;
             handle_cost =  rubbish_quantity*180; 
             social_cost =8*132*rubbish_quantity;                 
             technology_cost=1300*10^4;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
             subsidy =  0*rubbish_quantity;       %前期 100,中期50,后期取消,成本计算取负
             profit =  (10^(-4))*rubbish_quantity*(1/52.07+1/50.05 )*10^8 +rubbish_quantity/0.77*10^4;           
             
        otherwise
             msgbox('亲,请重新输入年份:');       
    end
    
    %分类费用
    class_cost = 0;     
    %设施投资: 
    equipment_cost =  0 ;  
    
    %输出,分析
    profit =profit *0.15;    
     direct_cost =  class_cost + transport_cost + equipment_cost + handle_cost;
    total_cost = direct_cost+technology_cost +social_cost+subsidy-profit  ;
    %dataPro(11): 分类,收运,设施,处理,技术,社会,补贴,收益,直接,总,均
    dataPro = [ class_cost,transport_cost,equipment_cost,handle_cost, ...
                         technology_cost,social_cost,subsidy,profit,direct_cost,total_cost,total_cost/rubbish_quantity];
    
    end
    
    

    三. 模式二

    %模式二:源头分类收集+湿垃圾生物处理+干垃圾焚烧+中心城区干垃圾转运 
    function dataPro = Total_Cost_Analysis_model2(year)
    %垃圾每年预测表:2017-2030
    table = [ 6.4450e+06   6.8317e+06 7.2416e+06   7.6761e+06   7.9832e+06   8.3025e+06   8.6346e+06 8.9800e+06   9.3392e+06   9.6193e+06   9.9079e+06  1.0205e+07   1.0511e+07   1.0827e+07];  %垃圾总量每年数值(2017-2030)
    rubbish_quantity = table(year-2016);
    switch year
        case {2016,2017,2018,2019,2020}
            rubbish_num_burn=215*10^4;             %近期
            rubbish_num_landfill = rubbish_quantity-rubbish_num_burn;
            class_cost = 0;    
            transport_cost = 0.5*rubbish_quantity*60+0.5*rubbish_quantity*70;  
            handle_cost =  rubbish_num_landfill*60+rubbish_num_burn*100;   
            social_cost =132*rubbish_quantity;             
            technology_cost=1300*10^4+10^8;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
            subsidy = 100*rubbish_quantity;       %前期 100,中期50,后期取消,成本计算取负
            profit =  (10^(-4))*rubbish_quantity/102.49*10^8 ;                           %不同时间 定值
             
        case {2021,2022,2023,2024,2025}
             class_cost = 10.6*10^8;    
             transport_cost = 0.4*rubbish_quantity*60+0.6*rubbish_quantity*100;  
             handle_cost =   rubbish_quantity*150;
             social_cost =1.2*132*rubbish_quantity;                   % (year-2017)
             technology_cost=1300*10^4+0.7*10^8;           % 湿处理分期:10^8,0.7*10^8,0.4*10^8
             subsidy = 50*rubbish_quantity;                          %前期 100,中期50,后期取消,成本计算取负
             profit =  (10^(-4))*rubbish_quantity*(1/72.31+1/396.83+1/100.1)*10^8 +rubbish_quantity/1.28*10^4 ;         %不同时间 定值
     
        case  {2026,2027,2028,2029,2030}
             class_cost = 10.6*10^8;    
             transport_cost = 0.5*rubbish_quantity*60+0.5*rubbish_quantity*100;   
             handle_cost =   0.5*rubbish_quantity*180+ 0.5*rubbish_quantity*200;
             social_cost =1.2*132*rubbish_quantity;                   % (year-2017)
             technology_cost=1300*10^4+0.4*10^8;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
             subsidy =  0*rubbish_quantity;       %前期 100,中期50,后期取消,成本计算取负
             profit = (10^(-4))* rubbish_quantity*(1/77.98+1/277.78+1/50.05)*10^8 +rubbish_quantity/1.28*10^4;                        
             
        otherwise
             msgbox('亲,请重新输入年份:');       
    end       
    
    %设施投资: 
    equipment_cost = 0;   
    
    %输出,分析
    profit =profit *0.15;    
     direct_cost =  class_cost + transport_cost + equipment_cost + handle_cost;
    total_cost = direct_cost+technology_cost +social_cost+subsidy-profit  ;
    %dataPro(11): 分类,收运,设施,处理,技术,社会,补贴,收益,直接,总,均
    dataPro = [ class_cost,transport_cost,equipment_cost,handle_cost, ...
                         technology_cost,social_cost,subsidy,profit,direct_cost,total_cost,total_cost/rubbish_quantity];
    
    end
    
    
    
    

    四. 模式三

    %模式三:混合收集+末端分类+湿垃圾生物处理+干垃圾焚烧+中心城区干垃圾转运
    function dataPro = Total_Cost_Analysis_model3(year)
    %垃圾每年预测表:2017-2030
    table = [ 6.4450e+06   6.8317e+06 7.2416e+06   7.6761e+06   7.9832e+06   8.3025e+06   8.6346e+06 8.9800e+06   9.3392e+06   9.6193e+06   9.9079e+06  1.0205e+07   1.0511e+07   1.0827e+07];  %垃圾总量每年数值(2017-2030)
    rubbish_quantity = table(year-2016);
    switch year
        case {2016,2017,2018,2019,2020}
            rubbish_num_burn=215*10^4;             %近期
            rubbish_num_landfill = rubbish_quantity-rubbish_num_burn;
            transport_cost = 0.5*rubbish_quantity *60+0.5*rubbish_quantity *70  ;  
            handle_cost =  rubbish_num_landfill*60+rubbish_num_burn*100; 
            social_cost =132*rubbish_quantity;                  
            technology_cost=1300*10^4+10^8;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
            subsidy = 100*rubbish_quantity;                  %前期 100,中期50,后期取消,成本计算取负
            profit =  (10^(-4))*rubbish_quantity/102.49*10^8 ;           %不同时间 定值
             
        case {2021,2022,2023,2024,2025}
             handle_cost =   0.5*rubbish_quantity*150+ 0.5*rubbish_quantity*200;
             transport_cost = 0.4*rubbish_quantity*60+0.6*rubbish_quantity*100;  
             social_cost =132*rubbish_quantity;                  
             technology_cost=1300*10^4+0.7*10^8;           % 湿处理分期:10^8,0.7*10^8,0.4*10^8
             subsidy = 50*rubbish_quantity;                          %前期 100,中期50,后期取消,成本计算取负
             profit =  (10^(-4))*rubbish_quantity*(1/86.87+1/317.46+1/100.1)*10^8 +rubbish_quantity/1.54*10^4;          %不同时间 定值
                                   
        case  {2026,2027,2028,2029,2030}
             handle_cost =   0.5*rubbish_quantity*180+ 0.5*rubbish_quantity*200;
             transport_cost = 0.4*rubbish_quantity*60+0.6*rubbish_quantity*100;  
             social_cost =132*rubbish_quantity;                    
             technology_cost=1300*10^4+0.4*10^8;            % 湿处理分期:10^8,0.7*10^8,0.4*10^8
             subsidy =  0*rubbish_quantity;               %前期 100,中期50,后期取消,成本计算取负
             profit =  (10^(-4))*rubbish_quantity*(1/86.80+1/222.22+1/50.05)*10^8 +rubbish_quantity/1.54*10^4;           %不同时间 定值
        
        otherwise
             msgbox('亲,请重新输入年份:');       
    end  
    
    %设施投资: 
    equipment_cost = 0;   
    %分类
    class_cost = 0;   
    %输出,分析
    profit =profit *0.15;    
    direct_cost =  class_cost + transport_cost + equipment_cost + handle_cost;
    total_cost = direct_cost+technology_cost +social_cost+subsidy-profit  ;
    %dataPro(11): 分类,收运,设施,处理,技术,社会,补贴,收益,直接,总,均
    dataPro = [ class_cost,transport_cost,equipment_cost,handle_cost, ...
                         technology_cost,social_cost,subsidy,profit,direct_cost,total_cost,total_cost/rubbish_quantity];
    
     end
    
    
    
    

    五. 垃圾总量预测

    %垃圾总量预测
    rubbish_table = zeros(1,14);
    rubbish_table(1,1) = 541.14*10^4;    %2014年垃圾产量541.14万吨
    for year = 2015:2020
        rubbish_table(1,year-2013) =  rubbish_table (1,year-2014)*(1+0.06);
    end
    for year = 2021:2025
        rubbish_table(1,year-2013) =  rubbish_table (1,year-2014)*(1+0.04);
    end
    for year = 2026:2030
        rubbish_table(1,year-2013) =  rubbish_table (1,year-2014)*(1+0.03);
    end
        
    

    六.各模式数据汇总

    % 总成本=直接成本 +经济技术成本 + 社会成本
    %数据收集data_model(从2017-2030年:现状,模式一,模式二,模式三)
    clear;close;clc;
    data_model0 = zeros(14, 11);
    data_model1 = zeros(14, 11);
    data_model2 = zeros(14, 11);
    data_model3 = zeros(14, 11);
    for year = 2017 : 2030
        dataPro0 = Total_Cost_Analysis(year );                %现状
        dataPro1 = Total_Cost_Analysis_model1(year );
        dataPro2 = Total_Cost_Analysis_model2(year );
        dataPro3 = Total_Cost_Analysis_model3(year );
        for i = 1:11
            data_model0(year-2016,i) = dataPro0(i);
            data_model1(year-2016,i) = dataPro1(i);
            data_model2(year-2016,i) = dataPro2(i);
            data_model3(year-2016,i) = dataPro3(i);
        end
    end
    
    

    七.最优模式评选

    %优选模式计算:分类0.3,设施0.5,收运1.5,处理1,技术1,社会1.7,收益-2
    %原理较复杂,优选模式以远期成本最优,并且设定不同成本的比重,所得结果为每吨垃圾的成本
    %
    table = [9.6193e+06   9.9079e+06  1.0205e+07   1.0511e+07   1.0827e+07];  %垃圾总量每年数值(远期2025-2030)
    rubbish_quantity = sum(table,2);
    
    x=0.3*sum(data_model0(10:14,1))+0.5*sum(data_model0(10:14,3))+1.5*sum(data_model0(10:14,2))+...
          1*sum(data_model0(10:14,4))+1*sum(data_model0(10:14,5))+1.7*sum(data_model0(10:14,6))+...
            2*sum(data_model0(10:14,8));
    table0 =x/rubbish_quantity     %现状模式 /rubbish_quantity 
    
    x=0.3*sum(data_model1(10:14,1))+0.5*sum(data_model1(10:14,3))+1.5*sum(data_model1(10:14,2))+...
          1*sum(data_model1(10:14,4))+1*sum(data_model1(10:14,5))+1.7*sum(data_model1(10:14,6))+...
            2*sum(data_model1(10:14,8));
    table1 =  x/rubbish_quantity     %模式一
    
    x=0.3*sum(data_model2(10:14,1))+0.5*sum(data_model2(10:14,3))+1.5*sum(data_model2(10:14,2))+...
          1*sum(data_model2(10:14,4))+1*sum(data_model2(10:14,5))+1.7*sum(data_model2(10:14,6))+...
            2*sum(data_model2(10:14,8));
    table2 =  x/rubbish_quantity     %模式二
    
    x=0.3*sum(data_model3(10:14,1))+0.5*sum(data_model3(10:14,3))+1.5*sum(data_model3(10:14,2))+...
          1*sum(data_model3(10:14,4))+1*sum(data_model3(10:14,5))+1.7*sum(data_model3(10:14,6))+...
            2*sum(data_model3(10:14,8));
    table3 =  x/rubbish_quantity    %模式三
    
  • 相关阅读:
    java里如何使用输入流和输出流实现读取本地文件里内容和写出到本地文件里
    Windows 命令行基础(博主推荐)
    Python2.7编程基础(博主推荐)
    27 个Jupyter Notebook的小提示与技巧
    java里如何实现循环打印出字符或字符数组里的内容
    [转]angularjs之ui-grid 使用详解
    [转]AngularJS 实现 Table的一些操作(示例大于实际)
    [转]js 回车转成TAB(利用tabindex)
    [转] Entity Framework添加记录时获取自增ID值
    [转]使用依赖关系注入在 ASP.NET Core 中编写干净代码
  • 原文地址:https://www.cnblogs.com/HZL2017/p/6880648.html
Copyright © 2011-2022 走看看