精华内容
下载资源
问答
  • 钢管下料问题

    万次阅读 多人点赞 2019-04-19 09:53:50
    生产中常会遇到通过切割、剪裁、冲压等手段,将原材料加工成所需大小这种工 艺过程,称为原料下料(cutting stock)问题。按照进一步的工艺要求,确定下料方案, 使用料最省或利润最大,是典型的优化问题。本节通过...

    生产中常会遇到通过切割、剪裁、冲压等手段,将原材料加工成所需大小这种工 艺过程,称为原料下料(cutting stock)问题。按照进一步的工艺要求,确定下料方案, 使用料最省或利润最大,是典型的优化问题。本节通过一个实例讨论用数学规划模型解 决这类问题的方法。 另一个实例:易拉罐下料问题: 用数学建模优化生产管理问题 - CSDN博客

    目录

    问题描述

    1.1  问题(1)的求解

    1 问题分析

    2 模型建立 

    3 模型求解

    1.2  问题(2)的求解 

    (1)问题分析

    (2)模型建立 

    (3)模型求解


    问题描述

    某钢管零售商从钢管厂进货,将钢管按照顾客的要求切割后售出。从钢管厂 进货时得到的原料钢管都是 19m 长。

    (1)现有一客户需要 50 根 4m 长,20 根 6m 长和 15 根 8m 长的钢管。应如何下 料最节省?

    (2)零售商如果采用的不同切割模式太多,将会导致生产过程的复杂化,从而增 加生产和管理成本,所以该零售商规定采用的不同切割模式不能超过 3 种。此外,该客户除需要(1)中的三种钢管外,还需要 10 根 5m 长的钢管。应如何下料最节省?

    1.1  问题(1)的求解

    1 问题分析

    首先,应当确定哪些切割模式是可行的。所谓一个切割模式,是指按照客户需要在原料钢管上安排切割的一种组合。例如,我们可以将 19m 长的钢管切割成 3 根 4m 长的钢管,余料为 7m;或者将 19m 长的钢管切割成 4m,6m 和 8m 长的钢管各 1 根, 余料为 1m。显然,可行的切割模式是很多的。

    其次,应当确定哪些切割模式是合理的。通常假设一个合理的切割模式的余料不应该大于或等于客户需要的钢管的最小尺寸。例如,将 19m 长的钢管切割成 3 根 4m 的钢管是可行的,但余料为 7m,可以进一步将 7m 的余料切割成 4m 钢管(余料为 3m), 或者将 7m 的余料切割成 6m 钢管(余料为 1m)。在这种合理性假设下,切割模式一共 有 7 种,如表 3 所示。

    表 3 钢管下料的合理切割模式
    模式类别 4m钢管根数 6m钢管根数  8m钢管根数        余料(m)
    模式 14003
    模式 23101
    模式 32013
    模式 41203
    模式 51111
    模式 60301
    模式 70023

    问题化为在满足客户需要的条件下,按照哪些种合理的模式,切割多少根原料钢 管,最为节省。而所谓节省,可以有两种标准,一是切割后剩余的总余料量最小,二是 切割原料钢管的总根数最少。下面将对这两个目标分别讨论。

    2 模型建立 

    •  决策变量:

    x_{i } 表示按照第i种模式(i = 1 2,,,7)切割的原料钢管的根数,显然它们应当是非负整数。 决策目标:以切割后剩余的总余料量最小为目标,则由表 3 可得 

    \textup{min}\: \: z_{1}=3x_{1}+x_{2}+3x_{3}+3x_{4}+x_{5}+x_{6}+3x_{7}              ( 1 )

    以切割原料钢管的总根数最少为目标,则有       \textup{min} \: \: z_{2} =\sum_{i=1}^{7}x_{i}             ( 2 )

     

    下面分别在这两种目标下求解。 约束条件:为满足客户的需求,按照表 3 应用 

              4x_{1} +3x_{2}+2x_{3} +x_{4}+x_{5}\geqslant 50\: ;\: \\ \; \; \; x_{2}+x_{4}+x_{5}+3x_{6}\geqslant 20\:                ( 3 )

          x_{3}+x_{5}+2x_{7}\geqslant 15                                               ( 4 )

    3 模型求解

    i)将式(1)和(3)构成的整数线性规划模型(加上整数约束)输入 LINGO 

    model: 
    TITLE 钢管下料-最小化余量; 
    sets: col/1..7/:c,x; 
    row/1..3/:b; 
    link(row,col):a; 
    endsets 
    data: 
    c=3 1 3 3 1 1 3; 
    b=50 20 15; 
    a=4 3 2 1 1 0 0   
        0 1 0 2 1 3 0   
        0 0 1 0 1 0 2; 
    enddata 
    min=@sum(col:c*x); 
    @for(row(i):@sum(col(j):a(i,j)*x(j))>=b(i)); 
    @for(col:@gin(x)); 
    end

     求得按照模式 2 切割 12 根原料钢管,按照模式 5 切割 15 根原料钢管,共 27 根, 总余料量为 27m。但 4m 长的钢管比要求多切割了 1 根,6m 长的钢管比要求多切割了 7 根。显然,在总余料量最小的目标下,最优解将是使用余料尽可能小的切割方式(模 式 2 和模式 5 的余料为 1m),这会导致切割原料钢管的总根数较多。

    ii)将式(2)~(4)构成的整数线性规划模型输入 LINGO 

    model: 
    TITLE 钢管下料-最小钢管数; 
    sets: col/1..7/:c,x; 
    row/1..3/:b; 
    link(row,col):a; 
    endsets 
    data: 
    c=3 1 3 3 1 1 3; 
    b=50 20 15; 
    a=4 3 2 1 1 0 0   
        0 1 0 2 1 3 0   
        0 0 1 0 1 0 2; 
    enddata 
    min=@sum(col:c*x); 
    @for(row(i):[con1]@sum(col(j):a(i,j)*x(j))>=b(i)); 
    @for(col:@gin(x)); 
    [remainder]y=@sum(col:c0*x); 
    end

    求得按照模式 2 切割 15 根原料钢管,按模式 5 切割 5 根,按模式 7 切割 5 根,共 25 根,可算出总余料量为 35m。但各长度的钢管数恰好全部满足要求,没有多切割。 与上面得到的结果比较,总余料量增加了 8m,但是所用的原料钢管的总根数减少了 2 根。在余料没有什么用途的情况下,通常选择总根数最少为目标。 

    1.2  问题(2)的求解 

    (1)问题分析

    按照问题(1)的思路,可以通过枚举法首先确定哪些切割模式是可行的。但由于需要的钢管规格增加到 4 种,所以枚举法的工作量较大。下面介绍的整数非线性规划模 型,可以同时确定切割模式和切割计划,是带有普遍性的方法。 同问题(1)类似,一个合理的切割模式的余料不应该大于或等于客户需要的钢管的最小尺寸(本题中为 4m),切割计划中只使用合理的切割模式,而由于本题中参数都 是整数,所以合理的切割模式的余量不能大于 3m。此外,这里我们仅选择总根数最少为目标进行求解。

    (2)模型建立 

    决策变量:由于不同切割模式不能超过 3 种,可以用 x_{j}  表示按照第 j 种模式(j=1,2,3 )切割的原料钢管的根数,显然它们应当是非负整数。设所使用的第 j 种切割模式下每根原料钢管生产 4m 长,5m 长,6m 长和 8m 长的钢管数量分别为
    r_{1j}\: ,\: r_{2j},\: r_{3j}\: ,\: r_{4j} \:(非负整数)。记客户需求的 4 种钢管的长度为 l_{i}  ,所以l=\left ( 4,5,6,8 \right )\: ; 数量为 b_{i}( i =1,2,3,4 ),即\: b=\left ( 50,10,20,15 \right )

    表4 三种钢管下料问题
      4m钢管根数 5m钢管根数 6m钢管根数 8m钢管根数 余料(m)
    模式 1r_{11}r_{21}r_{31}r_{41}   \leqslant 3
    模式 2r_{12}r_{22}r_{32}r_{42}\leqslant 3
    模式 3r_{13}r_{23}r_{33}r_{43}\leqslant 3

    决策目标:以切割原料钢管的总根数最少为目标,即目标为  \textup{min}\: \sum_{j=1}^{3}x_{j}           (  5 )

    约束条件:为满足客户的需求,应有             \sum_{j=1}^{3}\: r_{ij}x_{j}\geqslant b_{i}\: ,\: i=1,2,3,4               ( 6 )

     每一种切割模式必须可行、合理,所以每根原料钢管的成品量不能超过 19m,也 不能少于 16m(余量不能大于 3m),于是 

    16\: \leqslant \sum_{i=1}^{4}\: l_{i}r_{ij}\leqslant 19 \: ,j=1,2,3                                ( 7 )

     由于l=\left ( 4,5,6,8 \right )\: ; 所以  \sum_{i=1}^{4}\: l_{i}r_{ij}=l_{1}r_{1j}+l_{2}r_{2j}+l_{3}r_{3j}+l_{4}r_{4j}=4r_{1j}+5r_{2j}+6r_{3j}+8r_{4j}

    有的小伙伴私信问我怎么用MATLAB实现它,其实就是把上面的式子(6)和(7)展开就好啦,也就是对于式子(6)有:

    r_{11}x_{1} +r_{12}x_{2} +r_{13}x_{3} \geqslant 50    (4米的钢管需求为50根);

    r_{21}x_{1} +r_{22}x_{2} +r_{23}x_{3} \geqslant 10    (5米的钢管需求为10根)

    r_{31}x_{1} +r_{32}x_{2} +r_{33}x_{3} \geqslant 20    (6米的钢管需求为20根)

    r_{41}x_{1} +r_{42}x_{2} +r_{43}x_{3} \geqslant 15    (8米的钢管需求为15根)


    对于式子(7)有:

    4r_{11}+5r_{21}+6r_{31}+8r_{41} \geqslant 164r_{12}+5r_{22}+6r_{32}+8r_{42} \geqslant 16 ;   4r_{13}+5r_{23}+6r_{33}+8r_{43} \geqslant 16

    4r_{11}+5r_{21}+6r_{31}+8r_{41} \leqslant 19  ;   4r_{12}+5r_{22}+6r_{32}+8r_{42} \leqslant 19  ;  4r_{13}+5r_{23}+6r_{33}+8r_{43} \leqslant 19

    (3)模型求解

    式(5)~(7)构成这个问题的优化模型。由于在式(5)~(7)中出现了决 策变量的乘积,所以这是一个整数非线性规划模型,虽然用 LINGO 软件可以直接求解, 但我们发现有时 LINGO 软件运行很长时间也难以得到最优解。为了减少运行时间,可 以增加一些显然的约束条件,从而缩小可行解的搜索范围。

    例如,由于 3 种切割模型的排列顺序是无关紧要的,所以不妨增加以下约束: x_{1 }\geqslant x_{2 }\geqslant x_{3 }       ( 8 )

    又如,我们注意到所需原料钢管的总根数有着明显的上界和下界。首先,无论如何,原料钢管的总根数不可能少于              [ (  4*50+5*10+6*20+8*15 ) /19] = 26 (根)。其次,考虑一种非常特殊的生产计划:第一种切割模式下只生产 4m 钢管,1 根原料钢管切割 成 4 根 4m 钢管,为满足 50 根 4m 钢管的需求,需要 13 根原料钢管;第二种切割模式 下只生产 5m、6m 钢管,一根原料钢管切割成 1 根 5m 钢管和 2 根 6m 钢管,为满足 10 根 5m 钢管和 20 根 6m 钢管的需求,需要 10 根原料钢管;第三种切割模式下只生产 8m 钢管,1 根原料钢管切割成 2 根 8m 钢管,为满足 15 根 8m 钢管的需求,需要 8 根原料 钢管。于是满足要求的这种生产计划共需  13+10+8= 31 根原料钢管,这就得到了最 优解的一个上界。所以可增加以下约束:

     26\: \leqslant \sum_{i=1}^{3}\: x_{i} \leqslant 31\:          ( 9 )

      将式(5)~(9)构成的模型输入 LINGO 如下: 

    model: 
    Title 钢管下料 - 最小化钢管根数的LINGO模型; 
    SETS:  
        NEEDS/1..4/: LENGTH,b;   
        CUTS/1..3/:X;          
        PATTERNS(NEEDS,CUTS):R;   
    ENDSETS 
    DATA:  
        LENGTH=4 5 6 8;  
        b=50 10 20 15;  
        CAPACITY=19; 
    ENDDATA 
    min=@SUM(CUTS(I): X(I) );    
    @FOR(NEEDS(I):@SUM(CUTS(J):X(J)*R(I,J))>b(I) ); 
    @FOR(CUTS(J):@SUM(NEEDS(I):LENGTH(I)*R(I,J))<CAPACITY );  @FOR(CUTS(J):@SUM(NEEDS(I):LENGTH(I)*R(I,J))>CAPACITY-@MIN(NEEDS(I): LENGTH(I)));             @SUM(CUTS(I):X(I))>26; @SUM(CUTS(I):X(I)) <31; !人为增加约束; @FOR(CUTS(I)|I#LT#@SIZE(CUTS):X(I)>X(I+1) ); !人为增加约束;     
    @FOR(CUTS(J): @GIN(X(J))) ; 
    @FOR(PATTERNS(I,J):@GIN(R(I,J))); 
    end
    

    得到按照模式 1,2,3 分别切割 10,10,8 根原料钢管,使用原料钢管总根数为 28 根。第一种切割模式下 1 根原料钢管切割成 2 根 4m 钢管、1 根 5m 钢管和 1 根 6m 钢管;第二种切割模式下 1 根原料钢管切割成 3 根 4m 钢管和 1 根 6m 钢管;第三种模 式下 1 根原料钢管切割成 2 根 8m 钢管。


    对于问题2 的MATLAB求解方式,相当于有15个未知数。 由于没有等式约束,我们用空矩阵[ ]表示。我们采用fmincon函数求解最小值。有目标函数为:\textup{min}\:\: \: x_{1}+x_{2}+x_{3}

    由于MATLAB中的线性不等式形如AX\leqslant b,所以有 【线性(不等式)约束】为

    -x_{1}-x_{2}-x_{3} \leqslant -26

    x_{1}+x_{2}+x_{3} \leqslant 31; 

    -x_{1} +x_{2} \leqslant 0

    -x_{2} +x_{3} \leqslant 0

    -4r_{11}-5r_{21}-6r_{31}-8r_{41} \leqslant - 16

    -4r_{12}-5r_{22}-6r_{32}-8r_{42} \leqslant - 16 ;

    -4r_{13}-5r_{23}-6r_{33}-8r_{43} \leqslant - 16

    4r_{11}+5r_{21}+6r_{31}+8r_{41} \leqslant 19  ;  

    4r_{12}+5r_{22}+6r_{32}+8r_{42} \leqslant 19  ; 

    4r_{13}+5r_{23}+6r_{33}+8r_{43} \leqslant 19

    非线性(不等式)约束条件为

    -r_{11}x_{1} -r_{12}x_{2} -r_{13}x_{3} +50 \leqslant 0 ; 

    -r_{21}x_{1} -r_{22}x_{2} -r_{23}x_{3} +10 \leqslant 0   

    -r_{31}x_{1} -r_{32}x_{2} -r_{33}x_{3} +20 \leqslant 0  ;

    -r_{41}x_{1} -r_{42}x_{2} -r_{43}x_{3} +15 \leqslant 0   


    所以求解的MATLAB代码如下,由于没有增加整数约束,导致求出来的结果是小数,还望大神在评论区告诉我怎么加整数约束。

     

    clc
    clear
    %close all 
    
    x0 =rand(15,1);  %15个未知数
    
    fun =@(x)x(1)+x(2)+x(3); % 目标函数
    
    %用x(4)、x(5)、x(6)表示r11 、r12 、r13
    %用x(7)、x(8)、x(9)表示r21、 r22、 r23
    %用x(10)、x(11)、x(12)表示r31 、r32 、r33 
    %用x(13)、x(14)、x(15)表示r41 、r42 、r43
    
    % c 为10个线性(不等式)约束,需要转换成小于等于0的形式
    A= [-1 -1 -1 0 0 0 0 0 0 0 0 0 0 0 0;
        1 1 1 0 0 0 0 0 0 0 0 0 0 0 0; 
        -1 1 0 0 0 0 0 0 0 0 0 0 0 0 0;
        0 -1 1 0 0 0 0 0 0 0 0 0 0 0 0;
        0 0 0 -4 0 0 -5 0 0 -6 0 0 -8 0 0;
        0 0 0 0 -4 0 0 -5 0 0 -6 0 0 -8 0;
        0 0 0 0 0 -4 0 0 -5 0 0 -6 0 0 -8;
        0 0 0 4 0 0 5 0 0 6 0 0 8 0 0;
        0 0 0 0 4 0 0 5 0 0 6 0 0 8 0;
        0 0 0 0 0 4 0 0 5 0 0 6 0 0 8;
        ];
    
    b = [-26;31;0;0;-16;-16;-16;19;19;19];
    
    %c为非线性(不等式)约束,需要转换成小于等于0的形式
    c=@(x)[ -x(1)*x(4)-x(2)*x(5)-x(3)*x(6) +50;
        -x(1)*x(7)-x(2)*x(8)-x(3)*x(9) +10;
        -x(1)*x(10)-x(2)*x(11)-x(3)*x(12) +20;
        -x(1)*x(13)-x(2)*x(14)-x(3)*x(15) +15;
        ];
    nonlinfon = @(x)deal(c(x));
    lb = [0;0;0;0;0;0;0;0;0;0;0;0;0;0;0] % 所有的x都大于等于0
    %
    options = optimoptions(@fmincon,'MaxIter',10000);
    options=optimoptions(@fmincon,'MaxFunEvals',100000);
    [x fval exitflag]  = fmincon(fun,x0,A,b,[],[],lb,[],nonlinfon,options)
    

     另外关于exitflag 为-1和-2说明没找到最优解;为1-5说明找到了(局部)最优解。为0是迭代次数很多但仍不收敛,可考虑修改最大迭代次数。

    x =[   16.4649;    0.0001;    0.0000;

        0.1654;    1.1044;    1.0892
        0.2021;    0.8803;    0.9247
        0.2394;    0.7258;    0.7205
        0.3166;    0.5630;    0.5527 ].
    fval =   16.4649
    exitflag =     0

     

     

    展开全文
  • 【数学建模】下料问题

    千次阅读 多人点赞 2020-07-21 12:45:16
    1、下料最省的标准 原料钢管剩余总余量最小; 所用原料钢管总根数最少. 2、由于采用不同切割模式太多, 会增加生产和管理成本,所以要规定切割模式不能超过几种,即切割模式自己设定为固定的几种。 3、按照客户需要在...

    下料问题概述

    下料问题生产中通过切割、剪裁、冲压等手段,将原材料加工成规定大小的成材.

    优化问题按照工艺要求,确定下料方案,使所用材料最省,或利润最大.

    钢管切割问题(一维)

    题目1

    在这里插入图片描述
    如何下料最省?

    分析

    1、下料最省的标准(也就是最后的目标函数)

    • 原料钢管剩余总余量最小;
    • 所用原料钢管总根数最少.

    2、由于采用不同切割模式太多, 会增加生产和管理成本,所以要规定切割模式不能超过几种,即切割模式自己设定为固定的几种。

    3、按照客户需要在一根原料钢管上安排切割的某种排列组合,合理切割模式的余料应小于客户需要钢管的最小尺寸。

    4、约束条件:

    • 需求约束
    • 原料约束
    • 整数约束

    求解

    在这里插入图片描述
    为满足客户需要,按照哪些种合理模式切割,每种模式切割多少根原料钢管,最为节省?
    因此要设出来,最后找其中的约束关系,利用lingo求解。

    思路1——总余量最少

    解:设xi是 按第i种模式切割的原料钢管根数(i=1,…,7)
    在这里插入图片描述
    目标函数:
    在这里插入图片描述

    约束条件:

    • 需求约束
      在这里插入图片描述
    • 整数约束
      xi均为整数

    Lingo代码

    model:
    sets:
    schema/1..7/:x,f;pipe/1..3/:b;link(pipe,schema):A;
    endsets
    data:
    f=3,1,3,3,1,1,3;b=50,20,15;
    A=4,3,2,1,1,0,0
    0,1,0,2,1,3,0
    0,0,1,0,1,1,2;
    enddata
    min=@sum(schema(i):(f(i)*x(i)));
    @for(pipe(i):(@sum(schema(j):A(i,j)*x(j)))>=b(i));
    @for(schema(i):@gin(x(i)));
    end
    

    思路2——总根数最少

    解:设xi是 按第i种模式切割的原料钢管根数(i=1,…,7)

    目标函数:
    在这里插入图片描述
    约束条件同上

    题目2

    增加1种需求:10根5m ;切割模式不超过3种;即现有4种需求:50根4m, 10根5m, 20根6m,15根8m;
    若用枚举法确定合理切割模式,过于复杂。因此,对大规模问题, 用模型的约束条件界定合理模式。(直接设)设出每一种模式的切割方式,及按照每种模式切割的数量。但是注意,模式不要设置太多,可以自己固定模式数量的上限,否则不仅自己求解困难,在实际生产中管理也过为复杂。

    求解

    解:设xi是按第i 种模式切割的原料钢管根数(i=1,2,3);
    r1i, r2i, r3i, r4i是第i 种切割模式下, 每根原料钢管生产4m、5m、6m和8m长的钢管的数量.

    目标函数:(总根数最少)min=x1+x2+x3;

    约束条件:

    • 需求约束
      在这里插入图片描述

    • 原料约束(切割模式合理)
      在这里插入图片描述

    • 缩小可行域约束(根据第一问的规律得出)
      在这里插入图片描述

    • 整数约束
      xi,rij均为整数

    Lingo代码

    model:
    sets:
    schema/1..3/:x;pipe/1..4/:b,c;link(pipe,schema):r;
    endsets
    data:
    b=50,10,20,15;c=4,5,6,8;
    enddata
    min=@sum(schema(i):x(i));
    @for(pipe(i):(@sum(schema(j):r(i,j)*x(j)))>=b(i));
    @for(schema(j):(@sum(pipe(i):r(i,j)*c(i)))<19);
    @for(schema(j):(@sum(pipe(i):r(i,j)*c(i)))>=16);
    @for(schema(i):@gin(x(i)));
    @for(schema(j):@for(pipe(i):@gin(r(i,j))));
    x(1)>=x(2);
    x(2)>=x(3);
    end
    

    易拉罐下料(二维)

    在这里插入图片描述

    分析

    目标:易拉罐利润扣除原料余料损失后的净利润最大
    注意:不能装配的罐身、上下底也是余料
    约束:工作时间;原料数量;配套组装

    求解

    解:设决策变量如下:
    xi ~ 按照第i 种模式的生产张数(i=1,2,3,4);
    y1 ~ 一周生产的易拉罐个数;
    y2 ~ 不配套的罐身个数;
    y3 ~ 不配套的底、盖个数.
    在这里插入图片描述
    每只易拉罐利润0.10元,余料损失0.001元/ cm2,罐身面积PIdh=157.1 cm2;底盖面积PIdd/4=19.6 cm2

    目标函数:
    max=0.1y1-0.001(222.6x1+183.3x2+261.8x3+169.5y2)

    约束:

    • 时间约束
      在这里插入图片描述
    • 原料约束
      在这里插入图片描述
    • 配套约束
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述

    总结

    一维问题若模式不多,可枚举出来,则列举出所有情况,设出采用每种模式切割的个数,找到合适的约束条件,建立整数线性规划模型。
    若模式枚举不过来,则构造整数非线性规划模型, 将各种模式设出来(每种模式如何切割),同时设出采用每种模式切割的数量,然后多找约束条件(如:满足需求、切割模式合理等),列出多个不等式。可用缩小可行域的方法进行化简, 但要保证最优解的存在。
    二维、三维问题类似。

    切割模式相关软件

    CutMaster
    在这里插入图片描述

    CutLogic 2D

    在这里插入图片描述

    附三维问题:

    快递包装问题

    某企业为下游快递公司生产包装纸箱。该企业生产的原始瓦楞纸有四种型号,皆为正方形,其边长分别为2.5m,2.0m,1.8m, 1.5m, 三层瓦楞板成本分别为10.0,6.5,4.8,4.0元。瓦楞纸边角料可以以每平米1.4元在其企业内部回收利用。五层瓦楞板成本为对应三层板的1.3倍。
    问题1. 请利用下表中的数据给出合理的假设,确定该企业1天的生产计划,使其利润最大。
    问题2. 如果实际中,提供给下游快递公司的纸箱在容积误差30%之内可以以大纸箱代替小纸箱供货,那么新的最优生产计划是什么?
    问题3. 哪一种快递纸箱的需求变化对生产计划最为敏感?

    在这里插入图片描述

    可以展开如下图后参照二维模型进行求解
    在这里插入图片描述

    展开全文
  • 于是,我们得本问题的线性规划模型:  minf=3x12+x13+3x22+x23+x24+4x25+2x26+4x2+2x3+2x4+5x5  s.t. 2x11+4x21+2x22+2x23+x24+x2+x4- x5=10000  x12+x22+2x24+x25+x3- x4=30000  x13+x23+x25+2x26- ...

    凯鲁嘎吉 - 博客园

    http://www.cnblogs.com/kailugaji/

     

    造纸厂接到定单,所需卷纸的宽度和长度如表

    卷纸的宽度

    长度

    5

    7

    9

    10000

    30000

    20000

    工厂生产1号(宽度10)和2号(宽度20)两种标准卷纸,其长度未加规定。现按定单要求对标准卷纸进行切割,切割后有限长度的卷纸可连接起来达到所需卷纸的长度。问如何安排切割计划以满足定单需求而使切割损失最小?

    解:为了满足定单要求和使切割损失最小,我们可以使用多种切割方法来进行组合。此时,我们不但要考虑对两种标准卷纸的宽度如何进行切割,而且还要确定按某一种方式切割时标准卷纸所耗用的长度。

    例如,可以把宽10的1号标准卷纸切割成宽5的卷纸2卷,根据定单要求,此时需1号标准卷纸5000单位长度,与此同时,把宽度20的2号标准卷纸切割成宽度7和宽度9的卷纸各1卷,此时为满足定单要求,需2号标准卷纸30000单位长度。按此切割方案,宽度9的卷纸多生产10000单位长度,因此,切割损失的面积为(20-7-9) ×30000+9×10000。

    xij为第i号标准卷纸按第j种方式切割时所耗用的长度。

    各种可能的切割方式及切割损失宽度由下表给出(每种方式所产生的切割损失宽度应小于5)。

                                                

    按这9种切割方式,宽度9的卷纸所得长度为

        x13+x23+x25+2x26。

     xl=x13+x23+x25+2x26-20000,则宽度9、长度x1的卷纸再可切割成宽度5(切割损失宽度4)或宽度7(切割损失宽度2)的卷纸设它们的长度分别为x2及x3

    现在切割所得宽度7的卷纸其长度为

        x12+x22+2x24+x25+x3

       x4=x12+x22+2x24+x25+x3-30000,则宽度7、长度x4的卷纸又可切割成宽度5的卷纸(切割损失宽度2)。

    在上述切割方式组合的条件下,宽度5的卷纸其所得长度为

        2xll+4x21+2x22+2x23+x24+x2+x4

       x5=2x11+4x21+2x22+2x23+x24+x2+x4-10000

    我们应注意到,4x2,2x3,2x4,5x5都为卷纸的切割损失面积。从而,总的切割损失面积

        f=3x12+x13+3x22+x23+x24+4x25+2x26+4x2+2x3+2x4+5x5

    于是,我们得本问题的线性规划模型:

        minf=3x12+x13+3x22+x23+x24+4x25+2x26+4x2+2x3+2x4+5x5

     s.t. 2x11+4x21+2x22+2x23+x24+x2+x4- x5=10000

                 x12+x22+2x24+x25+x3- x4=30000

                 x13+x23+x25+2x26- x1=20000

                x2+x3=x1,

                xlj≥0,  j=1,2,3

                x2j≥0,  j=1,…,6

                xj≥0,  j=1,…,5

    Lingo程序:

    min=3*x12+x13+3*x22+x23+x24+4*x25+2*x26+2*x3+5*x5+4*x2+2*x4;
    2*x11+4*x21+2*x22+2*x23+x24+x2+x4-x5=10000;
    x12+x22+2*x24+x25+x3-x4=30000;
    x13+x23+x25+2*x26-x1=20000;
    x2+x3=x1; end

    结果为:

    Global optimal solution found.
      Objective value:                              60000.00
      Infeasibilities:                              0.000000
      Total solver iterations:                             1
    
    
                           Variable           Value        Reduced Cost
                                X12        0.000000            0.000000
                                X13        0.000000            0.000000
                                X22        0.000000            10.00000
                                X23        0.000000            10.00000
                                X24        10000.00            0.000000
                                X25        0.000000            0.000000
                                X26        15000.00            0.000000
                                 X3        10000.00            0.000000
                                 X5        0.000000            0.000000
                                 X2        0.000000            10.00000
                                 X4        0.000000            10.00000
                                X11        0.000000            10.00000
                                X21        0.000000            20.00000
                                 X1        10000.00            0.000000
    
                                Row    Slack or Surplus      Dual Price
                                  1        60000.00           -1.000000
                                  2        0.000000            5.000000
                                  3        0.000000           -3.000000
                                  4        0.000000           -1.000000
                                  5        0.000000            1.000000

     

    转载于:https://www.cnblogs.com/kailugaji/p/8215379.html

    展开全文
  • 硕士论文答辩需要注意哪些问题

    千次阅读 2017-09-12 14:02:33
    说明做了哪些必要的工作。 讲稿一般采用幻灯片的方式展示,做到主题明确,一目了然;精选文字,突出重点,简明扼要;适当美化视觉效果,加深印象。幻灯片制作具体注意事项见本章上节。 答辩时应注意:掌握时间...
    
    作者:[已重置]
    链接:https://www.zhihu.com/question/23980652/answer/68398285
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    毕业季:如何做个成功的硕士毕业论文答辩?
    2015-03-23 国家社科期刊数据库

    【导读】研究生毕业答辩的时间一般只有20~30分钟,能不能把大量工作在这么短时间里成功地讲出来,对个人的表达能力、应变能力和综合能力都是极大的挑战。成功的演讲是自信和技巧的结合,扎实的专业知识和细致周到的答辩准备工作是成功的前提。如何做个成功的硕士毕业论文答辩?

    论文写好,答辩幻灯制作完成,下一步就是要准备如何表达、进行答辩了。研究生毕业答辩的时间一般只有20~30分钟,能不能把大量工作在这么短时间里成功地讲出来,对个人的表达能力、应变能力和综合能力都是极大的挑战。

    成功的演讲是自信和技巧的结合,扎实的专业知识和细致周到的答辩准备工作是成功的前提。使用一些答辩技巧也不可缺少,可以充分展示整理研究材料、展示研究成果的能力,让别人知道自己都做了什么。要想这场战争获胜,就必须对答辩的目的、程序、可能遇到的问题及解决方法进行深入剖析,做到胸有成竹!下面重点介绍硕士研究生论文答辩的技巧和注意事项。

    一、硕士论文答辩考察什么

    要进行答辩,首先就要明确论文答辩想考察研究生什么。硕士教育重在训练科学的思维、如何进行科学实验以及如何将科学成果转化为学术文章甚至是创造社会效益。而博士教育重在培养研究生的创造性思维,力求在前人研究的基础上有所突破,要求博士生在求学期间有好的、新的科研思路。明确了以上这些就能知道答辩委员会的各位专家们关注的中心问题了。

    (一)考察论文的真实性

    论文的真实性包括立题依据是否充分可行(一般没有问题,否则开题报告时就不能通过,当然也可能出现专家质疑的情况,这就需要自己对研究背景、依据等有充分的理解);实验设计是否科学合理;实验步骤、操作方法是否准确无误;统计方法是否应用得当、数据分析结果是否可信(一般采用SPSS或者SAS软件进行统计,非统计学专业者进行数据整理和运算时最好请教医学院校统计学专业人士或求助于师长,力保统计学方法的准确。此点非常重要,因为统计学方法使用不当可能导致统计结果发生变化,从而可能导致结论不成立)。

    实事求是乃科学研究的基础,论文本身必须真实可靠,弄虚作假难逃答辩委员会专家们的火眼金睛。如果在这方面出现问题,论文势必不能通过专家评审。

    (二)考察相关知识与应用能力

    研究生应该熟悉和掌握本领域的专业知识及相关基础知识。一个完整合理的科学实验一般都要涉及“PRFR”以下几部分:(1)“Predecessor”——前人成功的实验。也就是说课题具备立项依据,不能是凭空的假想,研究论文是建立在前人基础之上的科学假设,小心求证。(2)“Repetition”——可重复性。既涵盖我们重复前人的实验,也要保证后来者能够重复答辩者的实验,能被repeat并且被不断repeat的实验才能证明是高水平的研究,是可信的研究。(3)“Fresh”——创新。这是一个民族的灵魂也是一个科学实验的灵魂。没有创新,科学就不会进步。虽然Repeat很重要,但是Fresh建立在repeat基础之上,更具有科学意义、更具推广意义。(4)“Reliability”——科学结论合理、可靠是研究者最终的目标。

    (三)考察研究生的综合素质

    包括答辩者的表达能力(比如答辩委员会要求解释论文中提到的某项实验是如何具体操作的,有何心得?)、应变能力(比如一次答辩中,评委老师提出问题:“请用一段话概括一下你导师的为人”——何其尖锐?和专业知识毫无关系,但是确又和答辩者息息相关)等综合能力。

    二、硕士论文的答辩准备

    (一)思想准备

    答辩是学校对硕士论文成绩进行考核、验收的一种形式。研究生要明确目的、端正态度、树立信心,通过论文答辩这一环节,来提高自己的分析能力、概括能力及表达能力。

    (二)答辩内容准备

    在反复阅读、审查自己硕士论文的基础上,写好供20分钟用的答辩报告。反复练习必不可少,尚需注意以下细节:事前亲临现场,熟悉现场布置,测试设备(如存放答辩幻灯的U盘/移动硬盘是否在答辩使用电脑上正常播放;PowerPoint版本兼容问题等);熟悉讲稿;练习如何表达,尤其着重于引言部分和结束部分。

    (三)物质准备

    主要准备参加答辩会所需携带的用品。如:硕士论文的底稿、说明提要、主要参考资料,画出必要的挂图、表格及公式,必要时准备相关内容幻灯以备答辩委员会提问。

    三、如何陈述硕士论文

    (一)良好的开场白

    开场白是整个论文答辩的正式开始,它可以吸引注意力、建立可信性、预告答辩的意图和主要内容。好的开始是成功的一半,应包括:引言、连接、启下三个作用。良好的开场白应做到:切合主题、符合答辩基调、运用适当的语言。应避免负面开头,如自我辩解等(如“我今天来的匆忙,没有好好准备……”),既不能体现对答辩委员会专家的尊重,也是个人自信不足的表现,答辩者在各位专家的第一印象中大打折扣。牢记谦虚谨慎是我国的传统美德,但是谦虚并非不自信。同时也要避免自我表现,洋洋得意,寻求赞赏。过度的表现,会引起答辩委员会专家的反感。

    (二)报告的中心内容

    报告的中心内容包括:论文内容、目的和意义;所采用的原始资料;硕士论文的基本内容及科研实验的主要方法;成果、结论和对自己完成任务的评价。在答辩报告中要围绕以上中心内容,层次分明。具体做到:突出选题的重要性和意义;介绍论文的主要观点与结构安排;强调论文的新意与贡献;说明做了哪些必要的工作。

    讲稿一般采用幻灯片的方式展示,做到主题明确,一目了然;精选文字,突出重点,简明扼要;适当美化视觉效果,加深印象。幻灯片制作具体注意事项见本章上节。

    答辩时应注意:掌握时间、扼要介绍、认真答辩。为此须做到以下几点:

    1. 不必紧张,要以必胜的信心,饱满的热情参加答辩;

    2. 仪容整洁,行动自然,姿态端正。答辩开始时要向专家问好,答辩结束时要向专家道谢,体现出良好的修养;

    3. 沉着冷静,语气上要用肯定的语言,是即是,非即非,不能模棱两可;

    4.内容上紧扣主题,表达上口齿清楚、流利,声音大小要适中,富于感染力,可使用适当的手势,以取得答辩的最佳效果;

    (三)答辩委员会专家可能提出的问题

    研究生报告结束后,答辩委员会专家将会提出问题,进行答辩,时间10~15分钟。一般包括:需要进一步说明的问题;论文所涉及的有关基本理论、知识和技能;考察研究生综合素质的有关问题。

    评委可能提出的问题一般来源于以下几个方面:

    1. 答辩委员的研究方向及其擅长的领域;

    2. 可能来自课题的问题:是确实切合本研究涉及到的学术问题(包括选题意义、重要观点及概念、课题新意、课题细节、课题薄弱环节、建议可行性以及对自己所做工作的提问);

    3.来自论文的问题:论文书写的规范性,数据来源,对论文提到的重要参考文献以及有争议的某些观察标准等;

    4.来自幻灯的问题:某些图片或图表,要求进一步解释;

    5.不大容易估计到的问题:和课题完全不相干的问题。似乎相干,但是答辩者根本未做过,也不是课题涉及的问题。答辩者没有做的,但是评委想到了的东西,答辩者进一步打算怎么做。

    (四)如何回答答辩委员会专家提出的问题

    首先要做到背熟讲稿,准备多媒体,调整心态,做提问准备,进行预答辩。在随后的汇报中突出重点、抓住兴趣、留下伏笔。忌讳讨论漫无边际,由于课题是自己知识的强项,讨论时毫无收敛,漫无边际,往往是内容复杂化,过多暴露疑点难点,给提问部分留下隐患。一个聪明的研究生应该“就事论事”,仅围绕自己的结果进行简单讨论,这样提问往往更为简单,回答更为顺畅。

    到了提问环节,专家提问不管妥当与否,都要耐心倾听,不要随便打断别人的问话。对专家提出的问题,当回答完整、自我感觉良好时,不要流露出骄傲情绪。如果确实不知如何回答时,应直接向专家说明,不要答非所问。对没有把握的问题,不要强词夺理,实事求是表明自己对这个问题还没搞清楚,今后一定要认真研究这个问题。

    总之,答辩中应实事求是,不卑不亢,有礼有节,时刻表现出对专家的尊重和感谢。注意答辩不纯粹是学术答辩,非学术成分大约占一半,要显示出自己各方面的成熟,要证明自己有了学术研究的能力。

    (五)结束语和致谢

    报告结束前一定要进行致谢。导师为研究生的成长付出了很多心血,在答辩这种关键时刻,对导师表示正式而真诚的感谢,体现了对导师的尊重,这是做人的基本道理。建议全文念出对导师致谢的段落,其他的致谢段落可以简略一些。同时应当说明汇报结束,欢迎各位专家的提问,使答辩工作顺利进入下一环节。

    《诗经•国风•汉广》有云:南有乔木,不可休思;汉有游女,不可求思。汉之广矣,不可泳思;江之永矣,不可方思。面临答辩时的感觉正如此诗写照。几年的辛苦学习是否有成效,要在这最后时刻得以展现。充分准备,最后的胜利一定是属于我们的

    展开全文
  • 下面,我就先总结一下这批简历中存在的一些问题,然后再提出我自己的一些意见。 存在的问题: 1、邮箱命名不妥。如:有简历将自己的邮箱名叫做“差不多”、“无所谓”等。 2、邮件标题不当。如:邮件的标题为...
  • 画册设计应该注意哪些

    千次阅读 2017-06-02 21:52:41
    画册设计师大多数平面设计师都要接触的内容。我入职平面设计接手的第一份工作就是制作宣传册。知道自己经验不足,提前做了很多功课,老板也帮忙提点一二,还是不大不小的踩了...下面就说说设计画册时都有哪些要躲的坑:
  • 面试过程中应注意问题与禁忌

    万次阅读 2018-01-26 15:44:21
    面试过程中应注意问题与禁忌 一、面试中应注意问题 应试者要想在面试答辩中获得成功,必须注意以下几个问题: (一)淡化面试的成败意识 一位面试者在面试前自认为各方面都比别人优秀,因此,他认为自己可以...
  • 所有问题都可在官网进行查询,请熟读此网站:申请美国签证 整个申请流程可分为大致3个部分:材料准备,网申,面签。 而不论是哪个流程,最后能否顺利拿到签证只遵照一个原则:申请人是否会
  • VC工程需要注意字符集问题

    千次阅读 2013-02-14 22:04:04
    好多代码之后,才发现写VC程序时候,一定要注意字符集的问题,VS2012默认工程字符集为UNICODE,但是以前的VC工程不一定是UNICODE,VC6默认字符集为多字节字符集,如果我们在使用VC6代码时候,没有注意到这个问题,...
  • 近期在申请几个软著,查询了大量资料,打了很多电话,经过几次 亲身尝试后,总结出了以下要点问题,基本涵盖了目前网上搜不到的一些注意事项,如有问题欢迎在评论中一起讨论。 常见问题 由于网上的资料不统一,下面...
  • 关于元器件选型需要注意问题

    千次阅读 2014-04-11 13:36:22
    电子产品设计时避免不了需要选择电子元器件,而元件的选择主要考虑以下问题:1.功率是否满足要求2.该器件本身是否产生干扰噪声等3.价格是否低4.供货量是否能够满足,供货周期长短5.在满足需求的情况应该尽量选用低...
  • 软件开发 签合同问题 需要注意什么

    千次阅读 2013-10-23 08:15:26
    软件开发 签合同问题 需要注意什么 重点有三个方面: 第一是所开发软件的需求,包括功能需求、界面需求等,一般要把需求说明书作为附件;   第二是软件的知识产权,其中有著作权、署名权、使用权、复制权、...
  • 纯软件程序员向嵌入式系统工程师转型时需注意问题 在中国,PC(主要是Windows-Intel体系)软件开发程序员,也就是“纯软件程序员”的“黄金年龄段”较短是一个不争的事实,一般纯软件程序员到了30—35岁就必须...
  • unity5 新布料系统 分析

    万次阅读 2015-11-13 16:14:11
    而且随便设置的话会出现布料突然消失的问题(这个应该是bug吧 我用的是5.0的 总觉的还有不完善的 估计等试试新版才知道) 而且网上大多数是以前的布料系统,所以这里给大家快速入门 1 创建布料 创建比以前稍微...
  •  前面写了两篇面试相关的总结性文章,一篇是找工作笔试面试那些事儿(14)---轻松一下,谈谈面试注意的点,里面提到的是面试时候需要注意的地方;还有一篇是找工作笔试面试那些事儿(15)---互联网公司面试的零零种种和...
  • 需要注意的是,需要在drawable目录新建同样名称的资源文件,否则在低版本上运行去闪退,因为找不到该文件,drawable-v21只在android5.0或以上系统有效。 4 Toolbar+TabLayout+RecyclerView+Card 1> Toolbar的...
  • UE4-布料系统

    千次阅读 2020-06-23 15:36:43
    注意:布料系统工具,只能应用于sekeleton mesh的模型上。 因为没有合适的人物模型,所以用简单的模型代替。基本操作一致。 一、导入带骨骼的模型,双击打开模型网格体资源。 如果不是骨骼模型,打开资源之后,...
  • APP在各个市场和商店上发布大同小异,准备好发布前期资料,基本上可以迎刃而解,下面我们来介绍发布前的准备:  二. 发布前的准备  1. 第一次提交:  (1)、应用程序APK文件  (2)、应用简短描述,10个字...
  • Maya布料解算入门

    千次阅读 2020-07-06 13:23:16
    通常不需要自行包裹,动画未进入final阶段的动画文件为了方便制作动画有可能会出现无高模的状态,这时需要请动画替换资产再进行解算) 选择绿色布料后,会注意到,Inputs有两个节点,一个是绑定权重,另一个是是根...
  • 操作系统内核的绝佳学习材料——JOS ...因为个人之前曾系统学习过Linux 0.11内核(《操作系统内核Hack:(四)内核雏形》,实现到时钟中断部分停了),深知自己从零开始实现内核的工作量。即便是如我个人实
  •  最近在弄Linux的网络编程,用到了socket通信。在网上查了一些资料,自己也看了一下《Unix网络编程》相关章节。对于编程过程中遇到的一些问题,希望通过本文表达出来。我觉得最让我印象深刻的就是非阻塞的conn
  • 在前一节当中我们讨论了神经网络静态的部分:包括神经网络结构、神经元类型、数据部分、...这个部分我们集中讲讲动态的部分,主要是训练的事情,集中在实际工程实践训练过程中要注意的一些点,如何找到最合适的参数。
  • <br />TeX Live 2010 安装步骤(ubuntu 10.10测试通过) 第一步:准备  我是使用光盘镜像安装TeX Live 2010,所以在安装前需要准备如下材料:  TeX Live 2010光盘镜像,Windows字体(从...
  • P问题、NP问题、NPC问题的概念及实例证明

    万次阅读 多人点赞 2016-05-21 16:29:25
    一、几种问题及其关系 二、规约一种技巧 三、如何对问题证明 四、NP-Complete间的规约例子 首先解释一下什么是NP问题,什么是NP hard问题,什么是NP完全问题。 * P Problem:这个应该最易理解,就是一个问题可以在...
  • Unity中的布料系统

    万次阅读 2018-04-19 19:32:08
    这些预留的最大化骨骼,有很多是在角色默认设计的时装中没有被使用的,但是为了给未来预留更多的可能,因此需要留好控制裙摆、长发等部件的各种最大化骨骼,而且注意,这些骨骼上都需要制作对应的动画效果,或者在...
  • 【Unity】从零开始的布料模拟

    万次阅读 多人点赞 2018-05-14 16:43:04
    可以看出越靠后的约束越容易对显示的结果造成直接影响,所以我们要注意约束的顺序,例如在碰撞约束之后,执行长度约束,避免大碰撞体积导致形体拉伸。 for (int i = 0; i ; i++) { ///VerletIntegration ...
  • 原博文链接在我的官方网站,网址是:http://www.aobosir.com/blog/2017/02/18/3D-printer-experience-and-precautions-when-printing-large-models/1 . 注意 需要注意电源线一定要插好,插牢,不可以断电了。...
  • MMD布料解算【新手小白】

    千次阅读 2020-05-04 17:48:43
    准备工作 用MMD BRIDGE导出.abc文件(位于其根目录out)记住一定要转到Camera导出视频 导出视频前做如下工作 将abc放入c4d,将没用的(如头发,衣物)删去,将相机(标签里的)...在MARVELOUS导入时注意: 1....
  • 机器学习中的特征——特征选择的方法以及注意

    万次阅读 多人点赞 2014-10-12 17:23:26
    总结以及注意点  这篇文章中最后提到了一点就是用特征选择的一点Trap。个人的理解是这样的,特征选择不同于特征提取,特征和模型是分不开,选择不同的特征训练出的模型是不同的。在机器学习=模型+策略+算法的...
  • 材料库存天数的计算方法

    千次阅读 2012-01-10 19:28:39
    每个企业都希望能够合理控制材料库存,在不影响生产的前提,尽量减少材料库存占用过多资金。大家都在学丰田做精益生 产,渴望实现零库存管理。想法很好,目标也很明确,然而,离现实太远,一些基础问题都没有解决...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 108,499
精华内容 43,399
关键字:

下料注意哪些问题