CN115455341B - A Solution Method for Raw Material Blanking and Sampling - Google Patents

A Solution Method for Raw Material Blanking and Sampling Download PDF

Info

Publication number
CN115455341B
CN115455341B CN202211346050.6A CN202211346050A CN115455341B CN 115455341 B CN115455341 B CN 115455341B CN 202211346050 A CN202211346050 A CN 202211346050A CN 115455341 B CN115455341 B CN 115455341B
Authority
CN
China
Prior art keywords
matrix
column
mathematical model
solution
blanking
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202211346050.6A
Other languages
Chinese (zh)
Other versions
CN115455341A (en
Inventor
梁桥康
肖海华
秦海
邹坤霖
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hunan University
Original Assignee
Hunan University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Hunan University filed Critical Hunan University
Priority to CN202211346050.6A priority Critical patent/CN115455341B/en
Publication of CN115455341A publication Critical patent/CN115455341A/en
Application granted granted Critical
Publication of CN115455341B publication Critical patent/CN115455341B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/11Complex mathematical operations for solving equations, e.g. nonlinear equations, general mathematical optimization problems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/043Optimisation of two dimensional placement, e.g. cutting of clothes or wood
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02PCLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
    • Y02P90/00Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
    • Y02P90/30Computing systems specially adapted for manufacturing

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Strategic Management (AREA)
  • Pure & Applied Mathematics (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Analysis (AREA)
  • Computational Mathematics (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • General Business, Economics & Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Development Economics (AREA)
  • Marketing (AREA)
  • Algebra (AREA)
  • Quality & Reliability (AREA)
  • Databases & Information Systems (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Numerical Control (AREA)

Abstract

A method for solving blanking and stock layout of raw materials comprises the following steps: s1, determining the length of a raw material, the number of each blanking workpiece and the size of each blanking workpiece; s2, establishing an original mathematical model, and performing matrixing on the original mathematical model to obtain a simplified mathematical model; s3, establishing an initial identity matrix, introducing constant parameters, and then performing initial row change on the simplified mathematical model to obtain a new mathematical model; s4, solving the new mathematical model by means of an optimizer to obtain an initial feasible solution; and S5, based on the initial feasible solution, solving the optimal relaxation solution by utilizing a CG algorithm, if the relaxation solution is not a non-negative integer, rounding the optimal relaxation solution to obtain an integer solution, and selecting the best solution in the S4 and the S5 as a raw material blanking layout scheme. The invention provides a CG algorithm improved based on a new mathematical model to solve the blanking problem with low demand, and the solving quality of the CG algorithm can be well improved.

Description

一种原材料下料排样的求解方法A Solution Method for Raw Material Blanking and Sampling

技术领域technical field

本发明涉及原材料下料技术领域,特别涉及一种原材料下料排样的求解方法。The invention relates to the technical field of raw material blanking, in particular to a solution method for raw material blanking and layout.

背景技术Background technique

减少原材料消耗是企业实现绿色制造的必要手段之一,关乎着企业提高经济效益和改善生态环境问题,是一种节能减排的最直接有效的方法,更是一种助力国家实现碳中和目标的重要手段。而与原材料消耗直接相关的切割问题普遍存在于实际工程问题中,如在造纸、钢铁、塑料、铝和木材等各种行业的生产计划中,切割问题是必不可少的。切割问题也称为下料问题,其求解效果直接关系着制造企业的原材料消耗和生产效率。具体来讲,经典一维切割库存问题(CSP)的数学模型是指通过优化给定的目标函数(原材料成本最小化),将一组可用的库存原料切割成客户订单要求的各种不同尺寸规格的产品。从数学理论层面上讲,切割问题是典型的NP组合优化问题。目前,研究者们将求解此类问题的算法分为两种,一种是通过构造优良的(以材料浪费最少为目标)切割排样模式的方法,并尽可能反复使用这种切割模式来使目标函数最小化(材料成本最小),满足客户订单对不同规格产品的需求量,这种方法通常被称为构造式启发式优化算法;另外一种是先使用列生成精确方法获得原问题的松弛解,再结合启发式算法将四舍五入技术应用于松弛解,同时更新切割模式以得到切割优化问题的最佳整数解,这种方法通常被称为剩余式启发式算法。Reducing raw material consumption is one of the necessary means for enterprises to achieve green manufacturing. It is related to the improvement of economic efficiency and ecological environment for enterprises. It is the most direct and effective way to save energy and reduce emissions. It is also a way to help the country achieve carbon neutrality goals. important means. However, the cutting problem directly related to the consumption of raw materials generally exists in practical engineering problems, such as in the production planning of various industries such as paper, steel, plastic, aluminum and wood, etc., the cutting problem is indispensable. The cutting problem is also called the blanking problem, and its solution effect is directly related to the raw material consumption and production efficiency of the manufacturing enterprise. Specifically, the mathematical model of the classic one-dimensional cutting stock problem (CSP) refers to cutting a set of available stock raw materials into various sizes required by customer orders by optimizing a given objective function (minimizing the cost of raw materials). The product. From the perspective of mathematical theory, the cutting problem is a typical NP combinatorial optimization problem. At present, researchers divide the algorithms for solving such problems into two types. One is to construct an excellent (with the least material waste as the goal) cutting and nesting pattern, and use this cutting pattern as much as possible to make Minimize the objective function (minimum material cost) to meet customer orders for products of different specifications. This method is usually called a constructive heuristic optimization algorithm; the other is to first use the column generation accurate method to obtain the relaxation of the original problem solution, combined with a heuristic algorithm to apply rounding techniques to the slack solution, while updating the cutting pattern to obtain the best integer solution to the cutting optimization problem, this method is often referred to as a residual heuristic algorithm.

对于一维切割下料一般问题的求解方法,目前的研究技术基本上趋于成熟,但针对低需求下料问题的求解,现有存在的近似解算法几乎都很难获得令人满意的最优解。而列生成精确算法(CG算法)虽能获得最优松弛解,但其取整之后的整数解与理想最优整数解之间的差距往往较大,且产生不同的切割模式(不同下料排样方案)数量较多,这致使企业制造产生大量的原材料浪费,并导致企业生产效率低下。For the solution method of the general problem of one-dimensional cutting and blanking, the current research technology is basically mature, but for the solution of the low-demand blanking problem, it is almost difficult for the existing approximate solution algorithms to obtain a satisfactory optimal solution. untie. Although the exact algorithm for column generation (CG algorithm) can obtain the optimal relaxation solution, the gap between the integer solution after rounding and the ideal optimal integer solution is often large, and different cutting modes (different cutting rows sample scheme) is large, which leads to a large amount of waste of raw materials in the manufacturing of enterprises, and leads to low production efficiency of enterprises.

发明内容Contents of the invention

本发明提供了一种原材料下料排样的求解方法,以解决现有技术中现有算法获得的最优解容易造成原材料浪费的技术问题。The invention provides a solution method for cutting and arranging raw materials to solve the technical problem in the prior art that the optimal solution obtained by the existing algorithm easily causes waste of raw materials.

为达到上述目的,本发明的技术方案是这样实现的:In order to achieve the above object, technical solution of the present invention is achieved in that way:

本发明提供了一种原材料下料排样的求解方法,包括如下步骤:The invention provides a solution method for raw material blanking and layout, comprising the following steps:

步骤S1、确定原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小;Step S1, determining the length of the raw material, the quantity of each blanking workpiece, and the size of each blanking workpiece;

步骤S2、依据原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小建立原始数学模型,对原始数学模型矩阵化得到简化后的数学模型;Step S2, establishing an original mathematical model according to the length of the raw material, the quantity of each blanking workpiece, and the size of each blanking workpiece, and matrixing the original mathematical model to obtain a simplified mathematical model;

步骤S3、建立初始单位矩阵,引入常量参数,利用初始单位矩阵和常量参数对简化后的数学模型进行初等行变化,得到新数学模型;Step S3, establishing an initial unit matrix, introducing constant parameters, and using the initial unit matrix and constant parameters to perform elementary row changes on the simplified mathematical model to obtain a new mathematical model;

步骤S4、借助Gurobi优化器对新数学模型(称为VTC模型)进行求解,得到新数学模型的初始可行解,初始可行解包括下料排样方案和决策变量,决策变量指不同排样方案对应的变量,即对应每一种排样方案所使用原材料的数量;Step S4, solve the new mathematical model (called VTC model) with the help of Gurobi optimizer, and obtain the initial feasible solution of the new mathematical model. The initial feasible solution includes the blanking and layout plan and decision variables, and the decision variables refer to different layout plans. The variable, that is, the quantity of raw materials used for each layout plan;

步骤S5、利用CG算法在初始可行解的基础上继续进行求解,得到最优松弛解,最优松弛解是指最优决策变量,若最优松弛解全为非负整数,则将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤S6;Step S5. Use the CG algorithm to continue solving on the basis of the initial feasible solution to obtain the optimal relaxation solution. The optimal relaxation solution refers to the optimal decision variable. If the optimal relaxation solutions are all non-negative integers, the optimal decision The value of the variable sum is compared with the value of the decision variable sum in step S4, and the decision variable generated by the side with the smallest sum is selected as the final decision variable, and the corresponding blanking layout plan is the final raw material blanking Nesting plan, if the optimal relaxation solution is not all non-negative integers, then enter step S6;

步骤S6、借助启发式算法对步骤S5获得的最优松弛解进行取整,得到非负整数解,将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案。Step S6, use the heuristic algorithm to round the optimal relaxation solution obtained in step S5 to obtain a non-negative integer solution, compare the value of the optimal decision variable sum with the value of the decision variable sum in step S4, and select The decision variable generated by the smallest side is taken as the final decision variable, and the corresponding blanking layout scheme is the final raw material blanking layout scheme.

在本实施例中,所述步骤S2中的原始数学模型为:In this embodiment, the original mathematical model in the step S2 is:

第一目标函数:

Figure 895870DEST_PATH_IMAGE001
The first objective function:
Figure 895870DEST_PATH_IMAGE001

第一约束条件:

Figure 157219DEST_PATH_IMAGE002
First constraint:
Figure 157219DEST_PATH_IMAGE002

Figure 405797DEST_PATH_IMAGE003
Figure 405797DEST_PATH_IMAGE003

Figure 394482DEST_PATH_IMAGE004
Figure 394482DEST_PATH_IMAGE004

Figure 943275DEST_PATH_IMAGE005
Figure 234579DEST_PATH_IMAGE006
Figure 344355DEST_PATH_IMAGE007
Figure 12097DEST_PATH_IMAGE008
Figure 274451DEST_PATH_IMAGE009
(1)
Figure 943275DEST_PATH_IMAGE005
,
Figure 234579DEST_PATH_IMAGE006
,
Figure 344355DEST_PATH_IMAGE007
,
Figure 12097DEST_PATH_IMAGE008
,
Figure 274451DEST_PATH_IMAGE009
(1)

其中,

Figure 736656DEST_PATH_IMAGE010
表示决策变量,具体表示第j种切割模式下所使用的原材料的数量;
Figure 835193DEST_PATH_IMAGE011
表示第j种切割模式中第i种待下料的产品的数量;
Figure 41047DEST_PATH_IMAGE012
表示第i种待下料的工件所需要的总数量;
Figure 157907DEST_PATH_IMAGE013
表示所需第i种待下料的工件的尺寸大小;L代表原材料的长度;
Figure 322173DEST_PATH_IMAGE014
表示非负整数。in,
Figure 736656DEST_PATH_IMAGE010
Represents a decision variable, specifically representing the quantity of raw materials used in the jth cutting mode;
Figure 835193DEST_PATH_IMAGE011
Indicates the quantity of the i-th product to be unloaded in the j-th cutting mode;
Figure 41047DEST_PATH_IMAGE012
Indicates the total quantity required for the i-th workpiece to be blanked;
Figure 157907DEST_PATH_IMAGE013
Indicates the size of the i-th workpiece to be blanked; L represents the length of the raw material;
Figure 322173DEST_PATH_IMAGE014
Represents a non-negative integer.

优选的,所述步骤S2中简化后的数学模型具体为:Preferably, the simplified mathematical model in the step S2 is specifically:

第二目标函数:

Figure 409471DEST_PATH_IMAGE015
Second objective function:
Figure 409471DEST_PATH_IMAGE015

第二约束条件:

Figure 153436DEST_PATH_IMAGE016
The second constraint:
Figure 153436DEST_PATH_IMAGE016

Figure 531327DEST_PATH_IMAGE017
Figure 531327DEST_PATH_IMAGE017

Figure 459969DEST_PATH_IMAGE018
Figure 657732DEST_PATH_IMAGE019
Figure 80755DEST_PATH_IMAGE020
Figure 47574DEST_PATH_IMAGE021
Figure 412696DEST_PATH_IMAGE022
(2)
Figure 459969DEST_PATH_IMAGE018
,
Figure 657732DEST_PATH_IMAGE019
,
Figure 80755DEST_PATH_IMAGE020
,
Figure 47574DEST_PATH_IMAGE021
Figure 412696DEST_PATH_IMAGE022
(2)

其中,

Figure 832176DEST_PATH_IMAGE023
表示一个1行n列的矩阵;解向量矩阵
Figure 557424DEST_PATH_IMAGE024
表示是一个n行1列的矩阵,该矩阵的元素是决策变量,它的值被约束为大于或等于零且为整数;A表示排样方案(切割模式)的矩阵,是一个m行n列的矩阵(
Figure 378750DEST_PATH_IMAGE025
),当求解完成所有的切割模式后,由产生的切割模式组成矩阵A中所有的列,每一列代表一种切割模式,在迭代开始前,它是一个m行m列的单位矩阵;
Figure 914773DEST_PATH_IMAGE026
表示一个m行1列的列向量需求矩阵,该矩阵的元素值表示不同尺寸工件的需求数量,m表示所需求工件种类的数量等于m;
Figure 821549DEST_PATH_IMAGE027
表示一个m行1列的矩阵,该矩阵是一个列变量向量矩阵,其中的元素值为非负整数,
Figure 851953DEST_PATH_IMAGE028
代表当前需要被求解的一种切割模式,用
Figure 793364DEST_PATH_IMAGE028
作为
Figure 500289DEST_PATH_IMAGE029
的索引,
Figure 894362DEST_PATH_IMAGE028
表示所有可能的切割模式集,如:
Figure 964342DEST_PATH_IMAGE029
表示当前迭代需要被求解的一种切割模式
Figure 494681DEST_PATH_IMAGE028
,其中元素
Figure 372507DEST_PATH_IMAGE030
表示在切割模式
Figure 253875DEST_PATH_IMAGE028
中,第i种工件的数量,
Figure 626082DEST_PATH_IMAGE031
Figure 542085DEST_PATH_IMAGE032
表示一个1行m列的行向量矩阵,该矩阵的元素代表m个不同工件的尺寸大小;如
Figure 59654DEST_PATH_IMAGE033
代表第i种工件的尺寸大小
Figure 693898DEST_PATH_IMAGE031
Figure 728850DEST_PATH_IMAGE034
表示在切割模式
Figure 873261DEST_PATH_IMAGE028
中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度
Figure 702677DEST_PATH_IMAGE035
Figure 683271DEST_PATH_IMAGE036
中的0 表示一个元素全为0的m行1列的列向量矩阵,其中,矩阵
Figure 521914DEST_PATH_IMAGE029
中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值
Figure 756718DEST_PATH_IMAGE037
Figure 288193DEST_PATH_IMAGE014
表示非负整数。in,
Figure 832176DEST_PATH_IMAGE023
Represents a matrix with 1 row and n columns; solution vector matrix
Figure 557424DEST_PATH_IMAGE024
Represents a matrix with n rows and 1 column. The elements of the matrix are decision variables, and its value is constrained to be greater than or equal to zero and an integer; A represents the matrix of the layout plan (cutting mode), which is a matrix with m rows and n columns. matrix(
Figure 378750DEST_PATH_IMAGE025
), when all the cutting patterns are solved, all the columns in the matrix A are composed of the generated cutting patterns, each column represents a cutting pattern, before the iteration starts, it is an identity matrix with m rows and m columns;
Figure 914773DEST_PATH_IMAGE026
Represents a column vector demand matrix with m rows and 1 column, the element values of this matrix represent the required quantity of workpieces of different sizes, and m indicates that the number of required workpiece types is equal to m;
Figure 821549DEST_PATH_IMAGE027
Represents a matrix with m rows and 1 column, which is a column variable vector matrix, where the element values are non-negative integers,
Figure 851953DEST_PATH_IMAGE028
Represents a cutting mode that needs to be solved currently, using
Figure 793364DEST_PATH_IMAGE028
as
Figure 500289DEST_PATH_IMAGE029
index of,
Figure 894362DEST_PATH_IMAGE028
Represents the set of all possible cutting modes, such as:
Figure 964342DEST_PATH_IMAGE029
Indicates a cut pattern that needs to be solved for the current iteration
Figure 494681DEST_PATH_IMAGE028
, where the elements
Figure 372507DEST_PATH_IMAGE030
Indicates in cutting mode
Figure 253875DEST_PATH_IMAGE028
, the quantity of the i-th kind of workpiece,
Figure 626082DEST_PATH_IMAGE031
;
Figure 542085DEST_PATH_IMAGE032
Represents a row vector matrix with 1 row and m columns, and the elements of the matrix represent the sizes of m different workpieces; for example
Figure 59654DEST_PATH_IMAGE033
Represents the size of the i-th workpiece
Figure 693898DEST_PATH_IMAGE031
;
Figure 728850DEST_PATH_IMAGE034
Indicates in cutting mode
Figure 873261DEST_PATH_IMAGE028
, the sum of the products of the dimensions of different workpieces multiplied by the number of corresponding workpieces should be less than or equal to the length of the raw material
Figure 702677DEST_PATH_IMAGE035
;
Figure 683271DEST_PATH_IMAGE036
The 0 in represents a column vector matrix with m rows and 1 column whose elements are all 0, where the matrix
Figure 521914DEST_PATH_IMAGE029
All variable values in are constrained to be greater than or equal to zero, and must be less than or equal to the demand quantity corresponding to each type of workpiece, and its value
Figure 756718DEST_PATH_IMAGE037
,
Figure 288193DEST_PATH_IMAGE014
Represents a non-negative integer.

优选的,所述步骤S3具体包含如下步骤:Preferably, the step S3 specifically includes the following steps:

步骤S310、建立初始单位矩阵,引入一个常量参数

Figure 490504DEST_PATH_IMAGE038
,在每次迭代过程中,将第k列(未知列)对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;在迭代开始时,取
Figure 132838DEST_PATH_IMAGE039
Figure 877940DEST_PATH_IMAGE040
表示列向量需求矩阵d 中的第1个元素值,对应第一种工件的需求数量,
Figure 691569DEST_PATH_IMAGE041
表示排样方案矩阵A中对应第1列的决策变量,也表示对应第一种切割模式
Figure 256543DEST_PATH_IMAGE028
的决策变量;Step S310, establishing an initial identity matrix and introducing a constant parameter
Figure 490504DEST_PATH_IMAGE038
, during each iteration, the decision variable corresponding to the kth column (unknown column) is fixed as a constant parameter, which is equal to the value of the decision variable corresponding to the kth column obtained in the previous iteration; at the beginning of the iteration, Pick
Figure 132838DEST_PATH_IMAGE039
,
Figure 877940DEST_PATH_IMAGE040
Indicates the value of the first element in the column vector demand matrix d , corresponding to the demand quantity of the first type of workpiece,
Figure 691569DEST_PATH_IMAGE041
Indicates the decision variable corresponding to the first column in the layout scheme matrix A, and also indicates the corresponding first cutting mode
Figure 256543DEST_PATH_IMAGE028
decision variable;

步骤S320、利用常量参数对简化后的数学模型进行初等行变化,得到新数学模型。Step S320, using constant parameters to perform elementary changes to the simplified mathematical model to obtain a new mathematical model.

优选的,所述步骤S320中的新数学模型具体为:Preferably, the new mathematical model in the step S320 is specifically:

假设决策变量的数量为m个,不同工件种类的数量为m个,每迭代一次,生成一个新列,也代表生成一种新的切割模式

Figure 561622DEST_PATH_IMAGE028
,当迭代求解生成第k种切割模式
Figure 895651DEST_PATH_IMAGE028
时,其目标函数和约束条件可写成如下:Assuming that the number of decision variables is m and the number of different workpiece types is m, each iteration generates a new column, which also represents the generation of a new cutting mode
Figure 561622DEST_PATH_IMAGE028
, when the iterative solution generates the kth cutting mode
Figure 895651DEST_PATH_IMAGE028
When , its objective function and constraints can be written as follows:

第三目标函数:

Figure 378716DEST_PATH_IMAGE042
The third objective function:
Figure 378716DEST_PATH_IMAGE042

第三约束条件:

Figure 430986DEST_PATH_IMAGE043
The third constraint:
Figure 430986DEST_PATH_IMAGE043

Figure 274177DEST_PATH_IMAGE044
Figure 274177DEST_PATH_IMAGE044

Figure 728292DEST_PATH_IMAGE045
Figure 728292DEST_PATH_IMAGE045

Figure 880794DEST_PATH_IMAGE046
, and
Figure 685939DEST_PATH_IMAGE047
Figure 332821DEST_PATH_IMAGE048
Figure 641442DEST_PATH_IMAGE049
Figure 466310DEST_PATH_IMAGE050
Figure 227593DEST_PATH_IMAGE051
Figure 678165DEST_PATH_IMAGE052
Figure 880794DEST_PATH_IMAGE046
, and
Figure 685939DEST_PATH_IMAGE047
,
Figure 332821DEST_PATH_IMAGE048
,
Figure 641442DEST_PATH_IMAGE049
Figure 466310DEST_PATH_IMAGE050
,
Figure 227593DEST_PATH_IMAGE051
,
Figure 678165DEST_PATH_IMAGE052

Figure 841294DEST_PATH_IMAGE053
Figure 326809DEST_PATH_IMAGE054
(3)
Figure 841294DEST_PATH_IMAGE053
,
Figure 326809DEST_PATH_IMAGE054
(3)

在(3)式中,

Figure 840967DEST_PATH_IMAGE028
代表当前需要被求解的一种切割模式,用
Figure 829651DEST_PATH_IMAGE028
作为
Figure 847286DEST_PATH_IMAGE055
的索引,
Figure 279535DEST_PATH_IMAGE028
表示所有可能的切割模式集,
Figure 15410DEST_PATH_IMAGE027
表示一个m行1列的矩阵,该矩阵是一个列变量向量矩阵,如:
Figure 807786DEST_PATH_IMAGE055
表示当前需要被求解的切割模式
Figure 679927DEST_PATH_IMAGE028
,其中元素
Figure 781613DEST_PATH_IMAGE056
表示在切割模式
Figure 4783DEST_PATH_IMAGE055
中,第i种工件的数量,
Figure 476216DEST_PATH_IMAGE031
;其中,
Figure 593077DEST_PATH_IMAGE038
表示在当前迭代中,将切割模式
Figure 491763DEST_PATH_IMAGE028
(对应矩阵A中第k列)对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;
Figure 812017DEST_PATH_IMAGE057
表示求解切割模式
Figure 87140DEST_PATH_IMAGE028
(对应矩阵A中第k列)时,通过将列向量矩阵
Figure 324086DEST_PATH_IMAGE058
的第k个元素强制为0获得;同理,
Figure 128094DEST_PATH_IMAGE059
表示求解切割模式
Figure 702689DEST_PATH_IMAGE028
时,通过将矩阵
Figure 250345DEST_PATH_IMAGE060
的第k行的元素强制为0元素获得,其作用是替代矩阵A,可避免对矩阵A进行重复繁琐的矩阵变化,仅需提供前一次迭代求解出的
Figure 341797DEST_PATH_IMAGE061
Figure 316707DEST_PATH_IMAGE062
则可;
Figure 877132DEST_PATH_IMAGE063
表示列向量变量矩阵
Figure 228479DEST_PATH_IMAGE055
参与矩阵初等变化之后的矩阵表达式;而约束
Figure 174438DEST_PATH_IMAGE064
表示决策变量矩阵中除第k列对应的决策变量为固定值
Figure 851407DEST_PATH_IMAGE065
外,其余决策变量全部被约束为大于或等于零;在约束
Figure 758183DEST_PATH_IMAGE034
中,
Figure 21543DEST_PATH_IMAGE066
表示一个1行m列的行向量矩阵,该矩阵的元素代表m个不同工件的尺寸大小,如
Figure 228534DEST_PATH_IMAGE067
代表第i种工件的尺寸大小
Figure 669879DEST_PATH_IMAGE031
Figure 798372DEST_PATH_IMAGE034
表示在切割模式
Figure 632467DEST_PATH_IMAGE028
中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度
Figure 162806DEST_PATH_IMAGE068
Figure 40632DEST_PATH_IMAGE062
表示未知列向量变量矩阵
Figure 922000DEST_PATH_IMAGE029
参与矩阵A进行初等行变化之后,矩阵A中第k行第k列元素的表达式,其值等于1,其中
Figure 530092DEST_PATH_IMAGE069
是一个1行m列矩阵,
Figure 180517DEST_PATH_IMAGE069
是通过将矩阵
Figure 229244DEST_PATH_IMAGE060
的第k行构建的行向量矩阵; 0≤a p d 表示列向量变量矩阵
Figure 597909DEST_PATH_IMAGE029
中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值
Figure 508227DEST_PATH_IMAGE070
Figure 13158DEST_PATH_IMAGE071
表示非负整数;目标函数
Figure 232786DEST_PATH_IMAGE072
Figure 88747DEST_PATH_IMAGE073
是一个元素全为1的1行m列矩阵;In formula (3),
Figure 840967DEST_PATH_IMAGE028
Represents a cutting mode that needs to be solved currently, using
Figure 829651DEST_PATH_IMAGE028
as
Figure 847286DEST_PATH_IMAGE055
index of,
Figure 279535DEST_PATH_IMAGE028
represents the set of all possible cutting patterns,
Figure 15410DEST_PATH_IMAGE027
Represents a matrix with m rows and 1 column, which is a column variable vector matrix, such as:
Figure 807786DEST_PATH_IMAGE055
Indicates the current cutting mode that needs to be solved
Figure 679927DEST_PATH_IMAGE028
, where the elements
Figure 781613DEST_PATH_IMAGE056
Indicates in cutting mode
Figure 4783DEST_PATH_IMAGE055
, the quantity of the i-th kind of workpiece,
Figure 476216DEST_PATH_IMAGE031
;in,
Figure 593077DEST_PATH_IMAGE038
Indicates that in the current iteration, the cutting pattern
Figure 491763DEST_PATH_IMAGE028
(corresponding to column k in matrix A) the corresponding decision variable is fixed as a constant parameter, which is equal to the value of the decision variable corresponding to column k obtained in the previous iteration;
Figure 812017DEST_PATH_IMAGE057
Indicates the solution cut mode
Figure 87140DEST_PATH_IMAGE028
(corresponding to the kth column in matrix A), by adding the column vector matrix
Figure 324086DEST_PATH_IMAGE058
The kth element of is forced to be 0; similarly,
Figure 128094DEST_PATH_IMAGE059
Indicates the solution cut mode
Figure 702689DEST_PATH_IMAGE028
, by adding the matrix
Figure 250345DEST_PATH_IMAGE060
The element of the kth row of is forced to be 0 element, its function is to replace the matrix A, which can avoid repeated and tedious matrix changes to the matrix A, and only need to provide the solution obtained by the previous iteration
Figure 341797DEST_PATH_IMAGE061
and
Figure 316707DEST_PATH_IMAGE062
then you can;
Figure 877132DEST_PATH_IMAGE063
Represents a matrix of column vector variables
Figure 228479DEST_PATH_IMAGE055
Participate in the matrix expression after the elementary transformation of the matrix; while the constraint
Figure 174438DEST_PATH_IMAGE064
Indicates that the decision variable corresponding to the kth column in the decision variable matrix is a fixed value
Figure 851407DEST_PATH_IMAGE065
Except for , the rest of the decision variables are all constrained to be greater than or equal to zero; in the constraint
Figure 758183DEST_PATH_IMAGE034
middle,
Figure 21543DEST_PATH_IMAGE066
Represents a row vector matrix with 1 row and m columns, and the elements of the matrix represent the sizes of m different workpieces, such as
Figure 228534DEST_PATH_IMAGE067
Represents the size of the i-th workpiece
Figure 669879DEST_PATH_IMAGE031
;
Figure 798372DEST_PATH_IMAGE034
Indicates in cutting mode
Figure 632467DEST_PATH_IMAGE028
, the sum of the products of the dimensions of different workpieces multiplied by the number of corresponding workpieces should be less than or equal to the length of the raw material
Figure 162806DEST_PATH_IMAGE068
;
Figure 40632DEST_PATH_IMAGE062
represents an unknown column vector variable matrix
Figure 922000DEST_PATH_IMAGE029
After participating in the elementary row change of matrix A, the expression of the element in row k and column k in matrix A is equal to 1, where
Figure 530092DEST_PATH_IMAGE069
is a 1-row m-column matrix,
Figure 180517DEST_PATH_IMAGE069
is by adding the matrix
Figure 229244DEST_PATH_IMAGE060
The row vector matrix constructed by the kth row of ; 0≤ a p d represents the column vector variable matrix
Figure 597909DEST_PATH_IMAGE029
All variable values in are constrained to be greater than or equal to zero, and must be less than or equal to the demand quantity corresponding to each type of workpiece, and its value
Figure 508227DEST_PATH_IMAGE070
,
Figure 13158DEST_PATH_IMAGE071
Represents a non-negative integer; objective function
Figure 232786DEST_PATH_IMAGE072
middle
Figure 88747DEST_PATH_IMAGE073
Is a 1-row m-column matrix with all 1 elements;

注意:当迭代次数k≥m+1时,每生成一种切割模式

Figure 35712DEST_PATH_IMAGE074
,替代一个旧列,具体替代规则:第m+1种切割模式
Figure 660728DEST_PATH_IMAGE074
替代矩阵A中的第1列,第m+2种切割模式
Figure 316838DEST_PATH_IMAGE074
替代矩阵A中的第2列,以此类推,第2m种切割模式
Figure 128936DEST_PATH_IMAGE074
替代矩阵A中的第m列;同时注意,当矩阵A在进行矩阵初等行变化之后,A中的每一列不是切割模式,只有在完成所有切割模式的求解之后,将切割模式组成矩阵A中的每一列,此时A中的每一列表示一种切割模式。Note: When the number of iterations k≥m+1, each cutting mode is generated
Figure 35712DEST_PATH_IMAGE074
, to replace an old column, the specific replacement rule: the m+1th cutting mode
Figure 660728DEST_PATH_IMAGE074
Substitute the first column in matrix A, the m+2th cutting mode
Figure 316838DEST_PATH_IMAGE074
Replace the 2nd column in matrix A, and so on, the 2mth cutting mode
Figure 128936DEST_PATH_IMAGE074
Substitute the mth column in the matrix A; At the same time, note that when the matrix A is changed after the elementary rows of the matrix, each column in A is not a cutting pattern. Each column, at this time each column in A represents a cutting pattern.

优选的,所述步骤S4具体包含如下步骤:Preferably, the step S4 specifically includes the following steps:

步骤S410、利用Gurobi优化器对新数学模型进行求解;Step S410, using the Gurobi optimizer to solve the new mathematical model;

步骤S420、通过

Figure 646636DEST_PATH_IMAGE075
Figure 126159DEST_PATH_IMAGE076
Figure 953169DEST_PATH_IMAGE062
对新数学模型中的第三目标函数和第三约束条件进行更新,其中
Figure 518143DEST_PATH_IMAGE077
Figure 809840DEST_PATH_IMAGE078
Figure 675028DEST_PATH_IMAGE069
可通过初始单位矩阵
Figure 141782DEST_PATH_IMAGE079
获得;借助Gurobi优化器求解得到
Figure 194051DEST_PATH_IMAGE075
Figure 178188DEST_PATH_IMAGE062
,此时,第一种切割模式
Figure 507669DEST_PATH_IMAGE080
被求解出,并用
Figure 286269DEST_PATH_IMAGE075
Figure 950469DEST_PATH_IMAGE062
对矩阵A的第一列进行更新,对更新后的矩阵A进行初等行变化,同时对初始单位矩阵
Figure 738296DEST_PATH_IMAGE081
和矩阵
Figure 420819DEST_PATH_IMAGE082
做与矩阵A相同的初等行变化,得到更新矩阵
Figure 370321DEST_PATH_IMAGE081
后的矩阵
Figure 256237DEST_PATH_IMAGE083
,然后根据矩阵
Figure 847755DEST_PATH_IMAGE083
,得到矩阵
Figure 10884DEST_PATH_IMAGE084
,同时得到更新矩阵
Figure 6652DEST_PATH_IMAGE082
后的矩阵
Figure 520810DEST_PATH_IMAGE085
,根据矩阵
Figure 775074DEST_PATH_IMAGE085
,得到矩阵
Figure 792709DEST_PATH_IMAGE086
;同理,用
Figure 738142DEST_PATH_IMAGE087
Figure 474017DEST_PATH_IMAGE086
Figure 141758DEST_PATH_IMAGE062
更新迭代1次后新数学模型所对应的第三目标函数和第三约束条件,此时,
Figure 404113DEST_PATH_IMAGE080
未知,需要被求解,其中
Figure 131897DEST_PATH_IMAGE069
通过
Figure 230434DEST_PATH_IMAGE083
得到;Step S420, pass
Figure 646636DEST_PATH_IMAGE075
,
Figure 126159DEST_PATH_IMAGE076
and
Figure 953169DEST_PATH_IMAGE062
Update the third objective function and the third constraints in the new mathematical model, where
Figure 518143DEST_PATH_IMAGE077
,
Figure 809840DEST_PATH_IMAGE078
and
Figure 675028DEST_PATH_IMAGE069
can pass through the initial identity matrix
Figure 141782DEST_PATH_IMAGE079
Obtained; with the help of Gurobi optimizer to solve
Figure 194051DEST_PATH_IMAGE075
and
Figure 178188DEST_PATH_IMAGE062
, at this time, the first cutting mode
Figure 507669DEST_PATH_IMAGE080
is solved and used
Figure 286269DEST_PATH_IMAGE075
and
Figure 950469DEST_PATH_IMAGE062
Update the first column of matrix A, perform elementary row changes on the updated matrix A, and at the same time update the initial identity matrix
Figure 738296DEST_PATH_IMAGE081
and matrix
Figure 420819DEST_PATH_IMAGE082
Do the same elementary row changes as matrix A to get the updated matrix
Figure 370321DEST_PATH_IMAGE081
After the matrix
Figure 256237DEST_PATH_IMAGE083
, and then according to the matrix
Figure 847755DEST_PATH_IMAGE083
, get the matrix
Figure 10884DEST_PATH_IMAGE084
, and at the same time get the update matrix
Figure 6652DEST_PATH_IMAGE082
After the matrix
Figure 520810DEST_PATH_IMAGE085
, according to the matrix
Figure 775074DEST_PATH_IMAGE085
, get the matrix
Figure 792709DEST_PATH_IMAGE086
; Similarly, use
Figure 738142DEST_PATH_IMAGE087
,
Figure 474017DEST_PATH_IMAGE086
and
Figure 141758DEST_PATH_IMAGE062
After updating the third objective function and the third constraint condition corresponding to the new mathematical model after one iteration, at this time,
Figure 404113DEST_PATH_IMAGE080
is unknown and needs to be solved, where
Figure 131897DEST_PATH_IMAGE069
pass
Figure 230434DEST_PATH_IMAGE083
get;

步骤S430、借助Gurobi优化器对新数学模型进行k次迭代,k=2...k,计算

Figure 701867DEST_PATH_IMAGE063
Figure 818727DEST_PATH_IMAGE062
:将
Figure 451834DEST_PATH_IMAGE063
Figure 427880DEST_PATH_IMAGE062
的计算结果作为矩阵A的第k列,其中,
Figure 811326DEST_PATH_IMAGE069
可通过矩阵
Figure 658059DEST_PATH_IMAGE060
获得,然后对矩阵A进行初等行变化,同时对矩阵
Figure 117859DEST_PATH_IMAGE060
和矩阵
Figure 784464DEST_PATH_IMAGE058
做与矩阵A相同的初等行变化,得到矩阵
Figure 738645DEST_PATH_IMAGE088
,然后根据矩阵
Figure 705464DEST_PATH_IMAGE088
得到矩阵
Figure 805007DEST_PATH_IMAGE089
,同时得到更新矩阵
Figure 490066DEST_PATH_IMAGE058
后的矩阵
Figure 218244DEST_PATH_IMAGE090
,再根据矩阵
Figure 39570DEST_PATH_IMAGE090
得到矩阵
Figure 450959DEST_PATH_IMAGE091
,并用
Figure 482369DEST_PATH_IMAGE092
Figure 637407DEST_PATH_IMAGE091
Figure 188605DEST_PATH_IMAGE062
更新迭代k次后新数学模型所对应的第三目标函数和第三约束条件,此时,
Figure 36476DEST_PATH_IMAGE080
未知,需要被求解,其中
Figure 555182DEST_PATH_IMAGE069
是通过将矩阵
Figure 248331DEST_PATH_IMAGE088
中第k+1行的元素构建的行向量矩阵;Step S430, use the Gurobi optimizer to perform k iterations on the new mathematical model, k=2...k, calculate
Figure 701867DEST_PATH_IMAGE063
and
Figure 818727DEST_PATH_IMAGE062
:Will
Figure 451834DEST_PATH_IMAGE063
and
Figure 427880DEST_PATH_IMAGE062
The calculation result of is taken as the kth column of matrix A, where,
Figure 811326DEST_PATH_IMAGE069
available through the matrix
Figure 658059DEST_PATH_IMAGE060
Obtain, and then perform elementary row changes on matrix A, and at the same time perform matrix
Figure 117859DEST_PATH_IMAGE060
and matrix
Figure 784464DEST_PATH_IMAGE058
Doing the same elementary row transformations as for matrix A yields the matrix
Figure 738645DEST_PATH_IMAGE088
, and then according to the matrix
Figure 705464DEST_PATH_IMAGE088
get the matrix
Figure 805007DEST_PATH_IMAGE089
, and at the same time get the update matrix
Figure 490066DEST_PATH_IMAGE058
After the matrix
Figure 218244DEST_PATH_IMAGE090
, and then according to the matrix
Figure 39570DEST_PATH_IMAGE090
get the matrix
Figure 450959DEST_PATH_IMAGE091
, and use
Figure 482369DEST_PATH_IMAGE092
,
Figure 637407DEST_PATH_IMAGE091
and
Figure 188605DEST_PATH_IMAGE062
Update the third objective function and the third constraint condition corresponding to the new mathematical model after k iterations, at this time,
Figure 36476DEST_PATH_IMAGE080
is unknown and needs to be solved, where
Figure 555182DEST_PATH_IMAGE069
is by adding the matrix
Figure 248331DEST_PATH_IMAGE088
The row vector matrix constructed by the elements of row k+1 in ;

步骤S440、循环步骤S430,直至迭代的次数k=βm,m值等于待下料的不同工件种类的数量,β表示迭代的系数,β=1or2;迭代k次后,得到第三约束条件和第三目标函数所构成的新数学模型的可行解。Step S440, loop step S430 until the number of iterations k=βm, the value of m is equal to the number of different types of workpieces to be blanked, β represents the coefficient of the iteration, β=1or2; after k iterations, the third constraint condition and the first The feasible solution of the new mathematical model composed of three objective functions.

优选的,所述步骤S420中初始单位矩阵

Figure 418150DEST_PATH_IMAGE079
,迭代开始前矩阵A具体分别为:Preferably, the initial identity matrix in the step S420
Figure 418150DEST_PATH_IMAGE079
, before the iteration starts, the matrix A is specifically:

Figure 436922DEST_PATH_IMAGE093
(4)
Figure 436922DEST_PATH_IMAGE093
(4)

Figure 52711DEST_PATH_IMAGE094
(5)
Figure 52711DEST_PATH_IMAGE094
(5)

优选的,所述步骤S430中计算k次迭代是使用Gurobi优化器进行求解。Preferably, the calculation of k iterations in the step S430 is solved using a Gurobi optimizer.

优选的,所述步骤S5具体包含如下步骤:Preferably, the step S5 specifically includes the following steps:

步骤S510、初始可行解即由上述求解产生的m种切割模式组成矩阵A中的每一列,矩阵A中的每一列(每一种切割模式)对应的决策变量,依据矩阵A建立CG算法的初始迭代基矩阵B;Step S510, the initial feasible solution is each column in the matrix A composed of the m cutting modes generated by the above solution, and the decision variables corresponding to each column (each cutting mode) in the matrix A, and the initial CG algorithm is established based on the matrix A Iterate basis matrix B;

步骤S520、提出新数学模型(VTC模型),并借助Gurobi优化器对其进行迭代训练,直至迭代的次数达到设定值,得到初始可行解,并由此构造初始迭代基矩阵B;Step S520, propose a new mathematical model (VTC model), and iteratively train it with the help of the Gurobi optimizer until the number of iterations reaches the set value, obtain an initial feasible solution, and construct an initial iterative base matrix B accordingly;

步骤S530、基于初始迭代基矩阵B,利用CG算法对其进行迭代训练,直至第二目标函数的值不再变小,获得最优松弛解;则将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤S6。Step S530, based on the initial iterative base matrix B, use the CG algorithm to iteratively train it until the value of the second objective function no longer becomes smaller, and obtain the optimal relaxation solution; The value of the sum of the decision variables in the middle is compared, and the decision variable generated by the side with the smallest sum is selected as the final decision variable, and the corresponding blanking and layout plan is the final raw material blanking and layout plan. If the optimal relaxation If the solutions are not all non-negative integers, go to step S6.

本发明的有益效果:Beneficial effects of the present invention:

本发明包含两个不同的阶段,分别为第一阶段和第二阶段,第一阶段即步骤S4中的VTC算法求解阶段,第二阶段即步骤S5中的CG算法求解阶段,基于VTC新模型改进的CG算法组成VTCCG算法,通过VTCCG算法求得的切割排样方案数量较少,优于现有存在的类似求解算法,且在求解小规格且低需求的下料问题时,可很好地提升列生成精确算法的求解质量;同时本发明的求解结果,具有更省材料、节省成本和更少数量的切割模式的优势。The present invention comprises two different stages, respectively the first stage and the second stage, the first stage is the VTC algorithm solving stage in step S4, and the second stage is the CG algorithm solving stage in step S5, which is improved based on the new VTC model The VTCCG algorithm consists of the VTCCG algorithm. The number of cutting and layout plans obtained by the VTCCG algorithm is small, which is better than the existing similar solving algorithms, and it can be well improved when solving small-sized and low-demand blanking problems. The solution quality of the accurate algorithm is listed; at the same time, the solution result of the present invention has the advantages of less material, cost and less cutting patterns.

附图说明Description of drawings

图1为本发明的流程图;Fig. 1 is a flowchart of the present invention;

图2为本发明求解实例1的排样方案;Fig. 2 is the sample layout scheme of solving example 1 of the present invention;

图3为创盈门窗下料软件求解实例1的排样方案。Figure 3 is the layout plan of Chuangying Door and Window Cutting Software Solution Example 1.

具体实施方式Detailed ways

下面结合附图及具体实施例对本发明再作进一步详细的说明。The present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.

参照图1,本申请实施例提供了一种原材料下料排样的求解方法,包括如下步骤:Referring to Fig. 1, the embodiment of the present application provides a solution method for blanking and arranging raw materials, including the following steps:

步骤S1、确定原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小;Step S1, determining the length of the raw material, the quantity of each blanking workpiece, and the size of each blanking workpiece;

步骤S2、依据原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小建立原始数学模型,对原始数学模型矩阵化得到简化后的数学模型;Step S2, establishing an original mathematical model according to the length of the raw material, the quantity of each blanking workpiece, and the size of each blanking workpiece, and matrixing the original mathematical model to obtain a simplified mathematical model;

步骤S3、建立初始单位矩阵,引入常量参数,利用初始单位矩阵和常量参数对简化后的数学模型进行初等行变化,得到新数学模型;Step S3, establishing an initial unit matrix, introducing constant parameters, and using the initial unit matrix and constant parameters to perform elementary row changes on the simplified mathematical model to obtain a new mathematical model;

步骤S4、借助Gurobi优化器对新数学模型(称为VTC模型)进行求解,得到新数学模型的初始可行解,初始可行解包括下料排样方案和决策变量,决策变量指不同排样方案对应的变量,即对应每一种排样方案所使用原材料的数量;Step S4, solve the new mathematical model (called VTC model) with the help of Gurobi optimizer, and obtain the initial feasible solution of the new mathematical model. The initial feasible solution includes the blanking and layout plan and decision variables, and the decision variables refer to different layout plans. The variable, that is, the quantity of raw materials used for each layout plan;

步骤S5、利用CG算法在初始可行解的基础上继续进行求解,得到最优松弛解,最优松弛解是指最优决策变量,若最优松弛解全为非负整数,则将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤S6;Step S5. Use the CG algorithm to continue solving on the basis of the initial feasible solution to obtain the optimal relaxation solution. The optimal relaxation solution refers to the optimal decision variable. If the optimal relaxation solutions are all non-negative integers, the optimal decision The value of the variable sum is compared with the value of the decision variable sum in step S4, and the decision variable generated by the side with the smallest sum is selected as the final decision variable, and the corresponding blanking layout plan is the final raw material blanking Nesting plan, if the optimal relaxation solution is not all non-negative integers, then enter step S6;

步骤S6、借助启发式算法对步骤S5获得的最优松弛解进行取整,得到非负整数解,将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案。Step S6, use the heuristic algorithm to round the optimal relaxation solution obtained in step S5 to obtain a non-negative integer solution, compare the value of the optimal decision variable sum with the value of the decision variable sum in step S4, and select The decision variable generated by the smallest side is taken as the final decision variable, and the corresponding blanking layout scheme is the final raw material blanking layout scheme.

在本实施例中,所述步骤S2中的原始数学模型为:In this embodiment, the original mathematical model in the step S2 is:

第一目标函数:

Figure 674185DEST_PATH_IMAGE001
The first objective function:
Figure 674185DEST_PATH_IMAGE001

第一约束条件:

Figure 324609DEST_PATH_IMAGE002
First constraint:
Figure 324609DEST_PATH_IMAGE002

Figure 389648DEST_PATH_IMAGE003
Figure 389648DEST_PATH_IMAGE003

Figure 758313DEST_PATH_IMAGE004
Figure 758313DEST_PATH_IMAGE004

Figure 917899DEST_PATH_IMAGE005
Figure 688409DEST_PATH_IMAGE006
Figure 783404DEST_PATH_IMAGE007
Figure 750616DEST_PATH_IMAGE008
Figure 589259DEST_PATH_IMAGE009
(1)
Figure 917899DEST_PATH_IMAGE005
,
Figure 688409DEST_PATH_IMAGE006
,
Figure 783404DEST_PATH_IMAGE007
,
Figure 750616DEST_PATH_IMAGE008
,
Figure 589259DEST_PATH_IMAGE009
(1)

其中,

Figure 338909DEST_PATH_IMAGE095
表示决策变量,具体表示第j种切割模式下所使用的原材料的数量;
Figure 604805DEST_PATH_IMAGE096
表示第j种切割模式中第i种待下料的产品的数量;
Figure 557849DEST_PATH_IMAGE097
表示第i种待下料的工件所需要的总数量;
Figure 934604DEST_PATH_IMAGE098
表示所需第i种待下料的工件的尺寸大小;L代表原材料的长度;
Figure 538760DEST_PATH_IMAGE014
表示非负整数。in,
Figure 338909DEST_PATH_IMAGE095
Represents a decision variable, specifically representing the quantity of raw materials used in the jth cutting mode;
Figure 604805DEST_PATH_IMAGE096
Indicates the quantity of the i-th product to be unloaded in the j-th cutting mode;
Figure 557849DEST_PATH_IMAGE097
Indicates the total quantity required for the i-th workpiece to be blanked;
Figure 934604DEST_PATH_IMAGE098
Indicates the size of the i-th workpiece to be blanked; L represents the length of the raw material;
Figure 538760DEST_PATH_IMAGE014
Represents a non-negative integer.

在本实施例中,所述步骤S2中简化后的数学模型具体为:In this embodiment, the simplified mathematical model in step S2 is specifically:

第二目标函数:

Figure 975558DEST_PATH_IMAGE099
Second objective function:
Figure 975558DEST_PATH_IMAGE099

第二约束条件:

Figure 648854DEST_PATH_IMAGE100
The second constraint:
Figure 648854DEST_PATH_IMAGE100

Figure 94878DEST_PATH_IMAGE101
Figure 94878DEST_PATH_IMAGE101

Figure 819121DEST_PATH_IMAGE102
Figure 426820DEST_PATH_IMAGE103
Figure 88876DEST_PATH_IMAGE020
Figure 73013DEST_PATH_IMAGE104
Figure 917341DEST_PATH_IMAGE022
(2)
Figure 819121DEST_PATH_IMAGE102
,
Figure 426820DEST_PATH_IMAGE103
,
Figure 88876DEST_PATH_IMAGE020
,
Figure 73013DEST_PATH_IMAGE104
Figure 917341DEST_PATH_IMAGE022
(2)

其中,

Figure 695941DEST_PATH_IMAGE023
表示一个1行n列的矩阵;解向量矩阵
Figure 346759DEST_PATH_IMAGE024
表示是一个n行1列的矩阵,该矩阵的元素是决策变量,它的值被约束为大于或等于零且为整数;A表示排样方案(切割模式)的矩阵,是一个m行n列的矩阵(
Figure 134586DEST_PATH_IMAGE105
),当求解完成所有的切割模式后,由产生的切割模式组成矩阵A中所有的列,每一列代表一种切割模式,在迭代开始前,它是一个m行m列的单位矩阵;
Figure 443208DEST_PATH_IMAGE026
表示一个m行1列的列向量需求矩阵,该矩阵的元素值表示不同尺寸工件的需求数量,m表示所需求工件种类的数量等于m;
Figure 517343DEST_PATH_IMAGE027
表示一个m行1列的矩阵,该矩阵是一个列变量向量矩阵,其中的元素值为非负整数,
Figure 544205DEST_PATH_IMAGE028
代表当前需要被求解的一种切割模式,用
Figure 745510DEST_PATH_IMAGE028
作为
Figure 174217DEST_PATH_IMAGE029
的索引,
Figure 419254DEST_PATH_IMAGE028
表示所有可能的切割模式集,如:
Figure 667833DEST_PATH_IMAGE029
表示当前迭代需要被求解的一种切割模式
Figure 797463DEST_PATH_IMAGE028
,其中元素
Figure 454578DEST_PATH_IMAGE030
表示在切割模式
Figure 745882DEST_PATH_IMAGE028
中,第i种工件的数量,
Figure 871970DEST_PATH_IMAGE031
Figure 539711DEST_PATH_IMAGE032
表示一个1行m列的行向量矩阵,该矩阵的元素代表m个不同工件的尺寸大小,如
Figure 552798DEST_PATH_IMAGE106
代表第i种工件的尺寸大小
Figure 15003DEST_PATH_IMAGE031
Figure 503753DEST_PATH_IMAGE034
表示在切割模式
Figure 99820DEST_PATH_IMAGE028
中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度
Figure 92047DEST_PATH_IMAGE107
Figure 90266DEST_PATH_IMAGE036
中的0 表示一个元素全为0的m行1列的列向量矩阵,其中,矩阵
Figure 66312DEST_PATH_IMAGE029
中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值
Figure 200490DEST_PATH_IMAGE037
Figure 47223DEST_PATH_IMAGE108
表示非负整数。in,
Figure 695941DEST_PATH_IMAGE023
Represents a matrix with 1 row and n columns; solution vector matrix
Figure 346759DEST_PATH_IMAGE024
Represents a matrix with n rows and 1 column. The elements of the matrix are decision variables, and its value is constrained to be greater than or equal to zero and an integer; A represents the matrix of the layout plan (cutting mode), which is a matrix with m rows and n columns. matrix(
Figure 134586DEST_PATH_IMAGE105
), when all the cutting patterns are solved, all the columns in the matrix A are composed of the generated cutting patterns, each column represents a cutting pattern, before the iteration starts, it is an identity matrix with m rows and m columns;
Figure 443208DEST_PATH_IMAGE026
Represents a column vector demand matrix with m rows and 1 column, the element values of this matrix represent the required quantity of workpieces of different sizes, and m indicates that the number of required workpiece types is equal to m;
Figure 517343DEST_PATH_IMAGE027
Represents a matrix with m rows and 1 column, which is a column variable vector matrix, where the element values are non-negative integers,
Figure 544205DEST_PATH_IMAGE028
Represents a cutting mode that needs to be solved currently, using
Figure 745510DEST_PATH_IMAGE028
as
Figure 174217DEST_PATH_IMAGE029
index of,
Figure 419254DEST_PATH_IMAGE028
Represents the set of all possible cutting modes, such as:
Figure 667833DEST_PATH_IMAGE029
Indicates a cut pattern that needs to be solved for the current iteration
Figure 797463DEST_PATH_IMAGE028
, where the elements
Figure 454578DEST_PATH_IMAGE030
Indicates in cutting mode
Figure 745882DEST_PATH_IMAGE028
, the quantity of the i-th kind of workpiece,
Figure 871970DEST_PATH_IMAGE031
;
Figure 539711DEST_PATH_IMAGE032
Represents a row vector matrix with 1 row and m columns, and the elements of the matrix represent the sizes of m different workpieces, such as
Figure 552798DEST_PATH_IMAGE106
Represents the size of the i-th workpiece
Figure 15003DEST_PATH_IMAGE031
;
Figure 503753DEST_PATH_IMAGE034
Indicates in cutting mode
Figure 99820DEST_PATH_IMAGE028
, the sum of the products of the dimensions of different workpieces multiplied by the number of corresponding workpieces should be less than or equal to the length of the raw material
Figure 92047DEST_PATH_IMAGE107
;
Figure 90266DEST_PATH_IMAGE036
The 0 in represents a column vector matrix with m rows and 1 column whose elements are all 0, where the matrix
Figure 66312DEST_PATH_IMAGE029
All variable values in are constrained to be greater than or equal to zero, and must be less than or equal to the demand quantity corresponding to each type of workpiece, and its value
Figure 200490DEST_PATH_IMAGE037
,
Figure 47223DEST_PATH_IMAGE108
Represents a non-negative integer.

在本实施例中,所述步骤S3具体包含如下步骤:In this embodiment, the step S3 specifically includes the following steps:

步骤S310、建立初始单位矩阵,引入一个常量参数

Figure 382390DEST_PATH_IMAGE038
,在每次迭代过程中,将第k列(未知列)对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;在迭代开始时,取
Figure 189940DEST_PATH_IMAGE039
Figure 3175DEST_PATH_IMAGE040
表示列向量需求矩阵d 中的第1个元素值,对应第一种工件的需求数量,
Figure 829049DEST_PATH_IMAGE041
表示排样方案矩阵A中对应第1列的决策变量,也表示对应第一种切割模式
Figure 69537DEST_PATH_IMAGE028
的决策变量;Step S310, establishing an initial identity matrix and introducing a constant parameter
Figure 382390DEST_PATH_IMAGE038
, during each iteration, the decision variable corresponding to the kth column (unknown column) is fixed as a constant parameter, which is equal to the value of the decision variable corresponding to the kth column obtained in the previous iteration; at the beginning of the iteration, Pick
Figure 189940DEST_PATH_IMAGE039
,
Figure 3175DEST_PATH_IMAGE040
Indicates the value of the first element in the column vector demand matrix d , corresponding to the demand quantity of the first type of workpiece,
Figure 829049DEST_PATH_IMAGE041
Indicates the decision variable corresponding to the first column in the layout scheme matrix A, and also indicates the corresponding first cutting mode
Figure 69537DEST_PATH_IMAGE028
decision variable;

步骤S320、利用常量参数对简化后的数学模型进行初等行变化,得到新数学模型。Step S320, using constant parameters to perform elementary changes to the simplified mathematical model to obtain a new mathematical model.

在本实施例中,所述步骤S320中的新数学模型具体为:In this embodiment, the new mathematical model in step S320 is specifically:

假设决策变量的数量为m个,不同工件种类的数量为m个,每迭代一次,生成一个新列,也代表生成一种新的切割模式

Figure 128498DEST_PATH_IMAGE028
,当迭代求解生成第k种切割模式
Figure 479845DEST_PATH_IMAGE028
,其目标函数和约束条件可写成如下:Assuming that the number of decision variables is m and the number of different workpiece types is m, each iteration generates a new column, which also represents the generation of a new cutting mode
Figure 128498DEST_PATH_IMAGE028
, when the iterative solution generates the kth cutting mode
Figure 479845DEST_PATH_IMAGE028
, its objective function and constraints can be written as follows:

第三目标函数:

Figure 425804DEST_PATH_IMAGE042
The third objective function:
Figure 425804DEST_PATH_IMAGE042

第三约束条件:

Figure 102773DEST_PATH_IMAGE109
The third constraint:
Figure 102773DEST_PATH_IMAGE109

Figure 9549DEST_PATH_IMAGE110
Figure 9549DEST_PATH_IMAGE110

Figure 39953DEST_PATH_IMAGE111
Figure 39953DEST_PATH_IMAGE111

Figure 715785DEST_PATH_IMAGE046
, and
Figure 688289DEST_PATH_IMAGE047
Figure 82361DEST_PATH_IMAGE048
Figure 152342DEST_PATH_IMAGE049
Figure 948260DEST_PATH_IMAGE112
Figure 560506DEST_PATH_IMAGE051
Figure 441875DEST_PATH_IMAGE113
Figure 715785DEST_PATH_IMAGE046
, and
Figure 688289DEST_PATH_IMAGE047
,
Figure 82361DEST_PATH_IMAGE048
,
Figure 152342DEST_PATH_IMAGE049
Figure 948260DEST_PATH_IMAGE112
,
Figure 560506DEST_PATH_IMAGE051
,
Figure 441875DEST_PATH_IMAGE113

Figure 204294DEST_PATH_IMAGE114
Figure 730085DEST_PATH_IMAGE115
(3)
Figure 204294DEST_PATH_IMAGE114
,
Figure 730085DEST_PATH_IMAGE115
(3)

在(3)式中,

Figure 654179DEST_PATH_IMAGE028
代表当前需要被求解的一种切割模式,用
Figure 881898DEST_PATH_IMAGE028
作为
Figure 182429DEST_PATH_IMAGE055
的索引,
Figure 326840DEST_PATH_IMAGE028
表示所有可能的切割模式集,
Figure 421835DEST_PATH_IMAGE027
表示一个m行1列的矩阵,该矩阵是一个列变量向量矩阵,如:
Figure 277796DEST_PATH_IMAGE055
表示当前需要被求解的切割模式
Figure 241072DEST_PATH_IMAGE028
,其中元素
Figure 866089DEST_PATH_IMAGE030
表示在切割模式
Figure 7351DEST_PATH_IMAGE055
中,第i种工件的数量,
Figure 350608DEST_PATH_IMAGE031
;其中,
Figure 851996DEST_PATH_IMAGE038
表示在当前迭代中,将切割模式
Figure 331519DEST_PATH_IMAGE028
(对应矩阵A中第k列)对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;
Figure 33896DEST_PATH_IMAGE057
表示求解切割模式
Figure 710121DEST_PATH_IMAGE028
(对应矩阵A中第k列)时,通过将列向量矩阵
Figure 156146DEST_PATH_IMAGE058
的第k个元素强制为0获得;同理,
Figure 614809DEST_PATH_IMAGE059
表示求解切割模式
Figure 222508DEST_PATH_IMAGE116
时,通过将矩阵
Figure 150144DEST_PATH_IMAGE060
的第k行的元素强制为0元素获得,其作用是替代矩阵A,可避免对矩阵A进行重复繁琐的矩阵变化,仅需提供前一次迭代求解出的
Figure 399860DEST_PATH_IMAGE117
Figure 713030DEST_PATH_IMAGE062
则可;
Figure 491630DEST_PATH_IMAGE063
表示列向量变量矩阵
Figure 405097DEST_PATH_IMAGE080
参与矩阵初等变化之后的矩阵表达式;而约束
Figure 192924DEST_PATH_IMAGE064
表示决策变量矩阵中除第k列对应的决策变量为固定值
Figure 501546DEST_PATH_IMAGE038
外,其余决策变量全部被约束为大于或等于零;在约束
Figure 575681DEST_PATH_IMAGE034
中,
Figure 602543DEST_PATH_IMAGE118
表示一个1行m列的行向量矩阵,该矩阵的元素代表m个不同工件的尺寸大小,如
Figure 803848DEST_PATH_IMAGE119
代表第i种工件的尺寸大小
Figure 966976DEST_PATH_IMAGE031
Figure 477592DEST_PATH_IMAGE034
表示在切割模式
Figure 991750DEST_PATH_IMAGE028
中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度
Figure 855801DEST_PATH_IMAGE120
Figure 515846DEST_PATH_IMAGE121
表示未知列向量变量矩阵
Figure 807150DEST_PATH_IMAGE080
参与矩阵A进行初等行变化之后,矩阵A中第k行第k列元素的表达式,其值等于1,其中
Figure 933238DEST_PATH_IMAGE069
是一个1行m列矩阵,
Figure 600979DEST_PATH_IMAGE069
是通过将矩阵
Figure 614066DEST_PATH_IMAGE060
的第k行构建的行向量矩阵; 0≤a p d 表示列向量变量矩阵
Figure 341850DEST_PATH_IMAGE080
中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值
Figure 565021DEST_PATH_IMAGE037
Figure 895509DEST_PATH_IMAGE122
表示非负整数;目标函数
Figure 887735DEST_PATH_IMAGE072
Figure 425902DEST_PATH_IMAGE123
是一个元素全为1的1行m列矩阵;In formula (3),
Figure 654179DEST_PATH_IMAGE028
Represents a cutting mode that needs to be solved currently, using
Figure 881898DEST_PATH_IMAGE028
as
Figure 182429DEST_PATH_IMAGE055
index of,
Figure 326840DEST_PATH_IMAGE028
represents the set of all possible cutting patterns,
Figure 421835DEST_PATH_IMAGE027
Represents a matrix with m rows and 1 column, which is a column variable vector matrix, such as:
Figure 277796DEST_PATH_IMAGE055
Indicates the current cutting mode that needs to be solved
Figure 241072DEST_PATH_IMAGE028
, where the elements
Figure 866089DEST_PATH_IMAGE030
Indicates in cutting mode
Figure 7351DEST_PATH_IMAGE055
, the quantity of the i-th kind of workpiece,
Figure 350608DEST_PATH_IMAGE031
;in,
Figure 851996DEST_PATH_IMAGE038
Indicates that in the current iteration, the cutting pattern
Figure 331519DEST_PATH_IMAGE028
(corresponding to column k in matrix A) the corresponding decision variable is fixed as a constant parameter, which is equal to the value of the decision variable corresponding to column k obtained in the previous iteration;
Figure 33896DEST_PATH_IMAGE057
Indicates the solution cut mode
Figure 710121DEST_PATH_IMAGE028
(corresponding to the kth column in matrix A), by adding the column vector matrix
Figure 156146DEST_PATH_IMAGE058
The kth element of is forced to be 0; similarly,
Figure 614809DEST_PATH_IMAGE059
Indicates the solution cut pattern
Figure 222508DEST_PATH_IMAGE116
, by adding the matrix
Figure 150144DEST_PATH_IMAGE060
The element of the kth row of is forced to be 0 element, its function is to replace the matrix A, which can avoid repeated and tedious matrix changes to the matrix A, and only need to provide the solution obtained by the previous iteration
Figure 399860DEST_PATH_IMAGE117
and
Figure 713030DEST_PATH_IMAGE062
then you can;
Figure 491630DEST_PATH_IMAGE063
Represents a matrix of column vector variables
Figure 405097DEST_PATH_IMAGE080
Participate in the matrix expression after the elementary transformation of the matrix; while the constraint
Figure 192924DEST_PATH_IMAGE064
Indicates that the decision variable corresponding to the kth column in the decision variable matrix is a fixed value
Figure 501546DEST_PATH_IMAGE038
Except for , the rest of the decision variables are all constrained to be greater than or equal to zero; in the constraint
Figure 575681DEST_PATH_IMAGE034
middle,
Figure 602543DEST_PATH_IMAGE118
Represents a row vector matrix with 1 row and m columns, and the elements of the matrix represent the sizes of m different workpieces, such as
Figure 803848DEST_PATH_IMAGE119
Represents the size of the i-th workpiece
Figure 966976DEST_PATH_IMAGE031
;
Figure 477592DEST_PATH_IMAGE034
Indicates in cutting mode
Figure 991750DEST_PATH_IMAGE028
, the sum of the products of the dimensions of different workpieces multiplied by the number of corresponding workpieces should be less than or equal to the length of the raw material
Figure 855801DEST_PATH_IMAGE120
;
Figure 515846DEST_PATH_IMAGE121
represents an unknown column vector variable matrix
Figure 807150DEST_PATH_IMAGE080
After participating in the elementary row change of matrix A, the expression of the element in row k and column k in matrix A is equal to 1, where
Figure 933238DEST_PATH_IMAGE069
is a 1-row m-column matrix,
Figure 600979DEST_PATH_IMAGE069
is by adding the matrix
Figure 614066DEST_PATH_IMAGE060
The row vector matrix constructed by the kth row of ; 0≤ a p d represents the column vector variable matrix
Figure 341850DEST_PATH_IMAGE080
All variable values in are constrained to be greater than or equal to zero, and must be less than or equal to the demand quantity corresponding to each type of workpiece, and its value
Figure 565021DEST_PATH_IMAGE037
,
Figure 895509DEST_PATH_IMAGE122
Represents a non-negative integer; objective function
Figure 887735DEST_PATH_IMAGE072
middle
Figure 425902DEST_PATH_IMAGE123
Is a 1-row m-column matrix with all 1 elements;

注意:当迭代次数k≥m+1时,每生成一种切割模式

Figure 136369DEST_PATH_IMAGE028
,替代一个旧列,具体替代规则:第m+1种切割模式
Figure 145913DEST_PATH_IMAGE074
替代矩阵A中的第1列,第m+2种切割模式
Figure 382859DEST_PATH_IMAGE028
替代矩阵A中的第2列,以此类推,第2m种切割模式
Figure 186867DEST_PATH_IMAGE028
替代矩阵A中的第m列;同时注意,当矩阵A在进行矩阵初等行变化之后,A中的每一列不能切割模式,只有在完成所有切割模式的求解之后,将切割模式组成矩阵A中的每一列,此时A中的每一列表示一种切割模式。Note: When the number of iterations k≥m+1, each cutting mode is generated
Figure 136369DEST_PATH_IMAGE028
, to replace an old column, the specific replacement rule: the m+1th cutting mode
Figure 145913DEST_PATH_IMAGE074
Substitute the first column in matrix A, the m+2th cutting mode
Figure 382859DEST_PATH_IMAGE028
Substituting the 2nd column in matrix A, and so on, the 2mth cutting pattern
Figure 186867DEST_PATH_IMAGE028
Replace the mth column in the matrix A; At the same time, note that when the matrix A is changed after the elementary rows of the matrix, each column in A cannot cut the pattern, and only after completing the solution of all the cutting patterns, the cutting pattern is composed of Each column, at this time each column in A represents a cutting pattern.

在本实施例中,所述步骤S4具体包含如下步骤:In this embodiment, the step S4 specifically includes the following steps:

步骤S410、利用Gurobi优化器对新数学模型进行求解;Step S410, using the Gurobi optimizer to solve the new mathematical model;

步骤S420、通过

Figure 259997DEST_PATH_IMAGE075
Figure 807653DEST_PATH_IMAGE124
Figure 164685DEST_PATH_IMAGE062
对新数学模型中的第三目标函数和第三约束条件进行更新,其中
Figure 405173DEST_PATH_IMAGE077
Figure 213203DEST_PATH_IMAGE078
Figure 564550DEST_PATH_IMAGE069
可通过初始单位矩阵
Figure 651455DEST_PATH_IMAGE081
获得;借助Gurobi优化器求解得到
Figure 187478DEST_PATH_IMAGE075
Figure 94254DEST_PATH_IMAGE062
,此时,第一种切割模式
Figure 859079DEST_PATH_IMAGE080
被求解出,并用
Figure 800490DEST_PATH_IMAGE075
Figure 772994DEST_PATH_IMAGE062
对矩阵A的第一列进行更新,对更新后的矩阵A进行初等行变化,同时对初始单位矩阵
Figure 167067DEST_PATH_IMAGE081
和矩阵
Figure 234118DEST_PATH_IMAGE082
做与矩阵A相同的初等行变化,得到更新矩阵
Figure 764456DEST_PATH_IMAGE081
后的矩阵
Figure 783228DEST_PATH_IMAGE083
,然后根据矩阵
Figure 789230DEST_PATH_IMAGE083
,得到矩阵
Figure 286070DEST_PATH_IMAGE084
,同时得到更新矩阵
Figure 811861DEST_PATH_IMAGE082
后的矩阵
Figure 735954DEST_PATH_IMAGE085
,根据矩阵
Figure 229252DEST_PATH_IMAGE085
,得到矩阵
Figure 264205DEST_PATH_IMAGE086
;同理,用
Figure 300294DEST_PATH_IMAGE087
Figure 506540DEST_PATH_IMAGE086
Figure 362501DEST_PATH_IMAGE062
更新迭代1次后新数学模型所对应的第三目标函数和第三约束条件,此时,
Figure 325778DEST_PATH_IMAGE080
未知,需要被求解,其中
Figure 685215DEST_PATH_IMAGE069
通过
Figure 92057DEST_PATH_IMAGE083
得到;Step S420, pass
Figure 259997DEST_PATH_IMAGE075
,
Figure 807653DEST_PATH_IMAGE124
and
Figure 164685DEST_PATH_IMAGE062
Update the third objective function and the third constraints in the new mathematical model, where
Figure 405173DEST_PATH_IMAGE077
,
Figure 213203DEST_PATH_IMAGE078
and
Figure 564550DEST_PATH_IMAGE069
can pass through the initial identity matrix
Figure 651455DEST_PATH_IMAGE081
Obtained; with the help of Gurobi optimizer to solve
Figure 187478DEST_PATH_IMAGE075
and
Figure 94254DEST_PATH_IMAGE062
, at this time, the first cutting mode
Figure 859079DEST_PATH_IMAGE080
is solved and used
Figure 800490DEST_PATH_IMAGE075
and
Figure 772994DEST_PATH_IMAGE062
Update the first column of matrix A, perform elementary row changes on the updated matrix A, and at the same time update the initial identity matrix
Figure 167067DEST_PATH_IMAGE081
and matrix
Figure 234118DEST_PATH_IMAGE082
Do the same elementary row changes as matrix A to get the updated matrix
Figure 764456DEST_PATH_IMAGE081
After the matrix
Figure 783228DEST_PATH_IMAGE083
, and then according to the matrix
Figure 789230DEST_PATH_IMAGE083
, get the matrix
Figure 286070DEST_PATH_IMAGE084
, and at the same time get the update matrix
Figure 811861DEST_PATH_IMAGE082
After the matrix
Figure 735954DEST_PATH_IMAGE085
, according to the matrix
Figure 229252DEST_PATH_IMAGE085
, get the matrix
Figure 264205DEST_PATH_IMAGE086
; Similarly, use
Figure 300294DEST_PATH_IMAGE087
,
Figure 506540DEST_PATH_IMAGE086
and
Figure 362501DEST_PATH_IMAGE062
After updating the third objective function and the third constraint condition corresponding to the new mathematical model after one iteration, at this time,
Figure 325778DEST_PATH_IMAGE080
is unknown and needs to be solved, where
Figure 685215DEST_PATH_IMAGE069
pass
Figure 92057DEST_PATH_IMAGE083
get;

步骤S430、借助Gurobi优化器对新数学模型进行k次迭代,k=2...k,计算

Figure 169734DEST_PATH_IMAGE063
Figure 936702DEST_PATH_IMAGE062
:将
Figure 416225DEST_PATH_IMAGE063
Figure 118601DEST_PATH_IMAGE062
的计算结果作为矩阵A的第k列,其中,
Figure 57476DEST_PATH_IMAGE069
可通过矩阵
Figure 503501DEST_PATH_IMAGE060
获得,然后对矩阵A进行初等行变化,同时对矩阵
Figure 962164DEST_PATH_IMAGE060
和矩阵
Figure 569863DEST_PATH_IMAGE058
做与矩阵A相同的初等行变化,得到矩阵
Figure 497499DEST_PATH_IMAGE088
,然后根据矩阵
Figure 216056DEST_PATH_IMAGE088
得到矩阵
Figure 935751DEST_PATH_IMAGE089
,同时得到更新矩阵
Figure 838985DEST_PATH_IMAGE058
后的矩阵
Figure 378550DEST_PATH_IMAGE090
,再根据矩阵得到矩阵
Figure 277630DEST_PATH_IMAGE090
,并用
Figure 586251DEST_PATH_IMAGE092
Figure 925966DEST_PATH_IMAGE091
Figure 687248DEST_PATH_IMAGE062
更新迭代k次后新数学模型所对应的第三目标函数和第三约束条件,此时,
Figure 888554DEST_PATH_IMAGE080
未知,需要被求解,其中
Figure 51682DEST_PATH_IMAGE069
通过
Figure 437664DEST_PATH_IMAGE088
得到;Step S430, use the Gurobi optimizer to perform k iterations on the new mathematical model, k=2...k, calculate
Figure 169734DEST_PATH_IMAGE063
and
Figure 936702DEST_PATH_IMAGE062
:Will
Figure 416225DEST_PATH_IMAGE063
and
Figure 118601DEST_PATH_IMAGE062
The calculation result of is taken as the kth column of matrix A, where,
Figure 57476DEST_PATH_IMAGE069
available through the matrix
Figure 503501DEST_PATH_IMAGE060
Obtain, and then perform elementary row changes on matrix A, and at the same time perform matrix
Figure 962164DEST_PATH_IMAGE060
and matrix
Figure 569863DEST_PATH_IMAGE058
Doing the same elementary row transformations as for matrix A yields the matrix
Figure 497499DEST_PATH_IMAGE088
, and then according to the matrix
Figure 216056DEST_PATH_IMAGE088
get the matrix
Figure 935751DEST_PATH_IMAGE089
, and at the same time get the update matrix
Figure 838985DEST_PATH_IMAGE058
After the matrix
Figure 378550DEST_PATH_IMAGE090
, and then get the matrix according to the matrix
Figure 277630DEST_PATH_IMAGE090
, and use
Figure 586251DEST_PATH_IMAGE092
,
Figure 925966DEST_PATH_IMAGE091
and
Figure 687248DEST_PATH_IMAGE062
Update the third objective function and the third constraint condition corresponding to the new mathematical model after k iterations, at this time,
Figure 888554DEST_PATH_IMAGE080
is unknown and needs to be solved, where
Figure 51682DEST_PATH_IMAGE069
pass
Figure 437664DEST_PATH_IMAGE088
get;

步骤S440、循环步骤S430,直至迭代的次数k=βm,m值等于待下料的不同工件种类的数量,β表示迭代的系数,β=1or2;迭代k次后,得到第三约束条件和第三目标函数所构成的新数学模型的可行解。Step S440, loop step S430 until the number of iterations k=βm, the value of m is equal to the number of different types of workpieces to be blanked, β represents the coefficient of the iteration, β=1or2; after k iterations, the third constraint condition and the first The feasible solution of the new mathematical model composed of three objective functions.

在本实施例中,所述步骤S420中初始单位矩阵

Figure 76455DEST_PATH_IMAGE081
,迭代开始前矩阵A具体分别为:In this embodiment, the initial identity matrix in the step S420
Figure 76455DEST_PATH_IMAGE081
, before the iteration starts, the matrix A is specifically:

Figure 940506DEST_PATH_IMAGE125
(4)
Figure 940506DEST_PATH_IMAGE125
(4)

Figure 332042DEST_PATH_IMAGE126
(5)
Figure 332042DEST_PATH_IMAGE126
(5)

在本实施例中,所述步骤S430中计算k次迭代是使用Gurobi优化器进行求解。In this embodiment, the calculation of k iterations in the step S430 is solved using a Gurobi optimizer.

步骤S410至步骤S440即VTC新模型求解阶段,以下用一个简单的例子对VTC新模型的求解阶段进行举例说明。Step S410 to step S440 are the solution phase of the new VTC model. The following uses a simple example to illustrate the solution phase of the new VTC model.

假设订单需求4种不同类型工件的下料,原下材料长度L =300,列向量需求矩阵

Figure 154505DEST_PATH_IMAGE127
;需求4种工件的尺寸
Figure 15013DEST_PATH_IMAGE128
Figure 682755DEST_PATH_IMAGE129
是一个行向量矩阵。
Figure 820475DEST_PATH_IMAGE130
是一个列向量变量矩阵,表示正在求解的一种切割模式。设置t=(1,1,1,1)为一个行为1列为4的矩阵。迭代开始前,初始化以下两个矩阵:Assuming that the order requires the cutting of 4 different types of workpieces, the length of the original material is L = 300, and the column vector demand matrix
Figure 154505DEST_PATH_IMAGE127
;Requires 4 workpiece sizes
Figure 15013DEST_PATH_IMAGE128
,
Figure 682755DEST_PATH_IMAGE129
is a matrix of row vectors.
Figure 820475DEST_PATH_IMAGE130
is a variable matrix of column vectors representing a cut pattern being solved for. Set t = (1,1,1,1) to be a matrix with 1 row and 4 columns. Before the iteration starts, initialize the following two matrices:

Figure 423626DEST_PATH_IMAGE131
(6)
Figure 423626DEST_PATH_IMAGE131
(6)

Figure 646797DEST_PATH_IMAGE132
(7)
Figure 646797DEST_PATH_IMAGE132
(7)

建立矩阵式新数学模型:Create a matrix new mathematical model:

目标函数:

Figure 977284DEST_PATH_IMAGE133
(8)Objective function:
Figure 977284DEST_PATH_IMAGE133
(8)

约束条件:Restrictions:

Figure 969511DEST_PATH_IMAGE134
(9)
Figure 969511DEST_PATH_IMAGE134
(9)

此时,我们可以获得:At this point, we can get:

Figure 245028DEST_PATH_IMAGE135
(10)
Figure 245028DEST_PATH_IMAGE135
(10)

Figure 689916DEST_PATH_IMAGE136
(11)
Figure 689916DEST_PATH_IMAGE136
(11)

第1次迭代开始(第1种切割模式生成):The 1st iteration starts (the 1st cutting mode is generated):

根据(3)式,我们得到目标优化问题如下:According to (3), we get the target optimization problem as follows:

目标函数:

Figure 824094DEST_PATH_IMAGE137
(12)Objective function:
Figure 824094DEST_PATH_IMAGE137
(12)

约束条件:Restrictions:

Figure 936406DEST_PATH_IMAGE138
(13)
Figure 936406DEST_PATH_IMAGE138
(13)

Figure 881360DEST_PATH_IMAGE139
(14)
Figure 881360DEST_PATH_IMAGE139
(14)

Figure 79123DEST_PATH_IMAGE140
Figure 751413DEST_PATH_IMAGE141
Figure 718232DEST_PATH_IMAGE142
Figure 958720DEST_PATH_IMAGE143
(15)
Figure 79123DEST_PATH_IMAGE140
,
Figure 751413DEST_PATH_IMAGE141
,
Figure 718232DEST_PATH_IMAGE142
,
Figure 958720DEST_PATH_IMAGE143
(15)

Figure 17681DEST_PATH_IMAGE144
Figure 369028DEST_PATH_IMAGE145
Figure 314987DEST_PATH_IMAGE146
Figure 991956DEST_PATH_IMAGE147
Figure 774098DEST_PATH_IMAGE148
(16)
Figure 17681DEST_PATH_IMAGE144
,
Figure 369028DEST_PATH_IMAGE145
,
Figure 314987DEST_PATH_IMAGE146
,
Figure 991956DEST_PATH_IMAGE147
,
Figure 774098DEST_PATH_IMAGE148
(16)

为了简化矩阵重复繁琐的初等行变化, 我们将矩阵

Figure 663557DEST_PATH_IMAGE149
中的第一列表述为如下:In order to simplify matrix repetition and tedious elementary row changes, we will matrix
Figure 663557DEST_PATH_IMAGE149
The first column in is described as follows:

Figure 729602DEST_PATH_IMAGE150
(17)
Figure 729602DEST_PATH_IMAGE150
(17)

将决策变量

Figure 46314DEST_PATH_IMAGE151
固定为常量参数
Figure 705965DEST_PATH_IMAGE152
,所以我们可以得到:decision variable
Figure 46314DEST_PATH_IMAGE151
fixed as constant parameter
Figure 705965DEST_PATH_IMAGE152
, so we can get:

Figure 764227DEST_PATH_IMAGE153
(18)
Figure 764227DEST_PATH_IMAGE153
(18)

Figure 560145DEST_PATH_IMAGE154
(19)
Figure 560145DEST_PATH_IMAGE154
(19)

Figure 437971DEST_PATH_IMAGE155
(20)
Figure 437971DEST_PATH_IMAGE155
(20)

Figure 584918DEST_PATH_IMAGE156
(21)
Figure 584918DEST_PATH_IMAGE156
(twenty one)

通过(7)式中的

Figure 691546DEST_PATH_IMAGE157
,我们可以获得
Figure 341970DEST_PATH_IMAGE158
,通过
Figure 390697DEST_PATH_IMAGE159
得到
Figure 24941DEST_PATH_IMAGE160
,这样,(18)式到(20)式可以被转换成:Through (7) in the formula
Figure 691546DEST_PATH_IMAGE157
, we can obtain
Figure 341970DEST_PATH_IMAGE158
,pass
Figure 390697DEST_PATH_IMAGE159
get
Figure 24941DEST_PATH_IMAGE160
, so that (18) to (20) can be transformed into:

Figure 59893DEST_PATH_IMAGE161
(22)
Figure 59893DEST_PATH_IMAGE161
(twenty two)

现在我们将(18)式到(20)式代入到式(12)式,这样,目标优化问题可以写成:Now we substitute (18) to (20) into (12), so that the target optimization problem can be written as:

目标函数:

Figure 938725DEST_PATH_IMAGE162
(23)Objective function:
Figure 938725DEST_PATH_IMAGE162
(twenty three)

约束条件:

Figure 299299DEST_PATH_IMAGE163
(24)Restrictions:
Figure 299299DEST_PATH_IMAGE163
(twenty four)

Figure 279894DEST_PATH_IMAGE164
(25)
Figure 279894DEST_PATH_IMAGE164
(25)

Figure 852957DEST_PATH_IMAGE165
(26)
Figure 852957DEST_PATH_IMAGE165
(26)

Figure 353340DEST_PATH_IMAGE166
(27)
Figure 353340DEST_PATH_IMAGE166
(27)

Figure 619236DEST_PATH_IMAGE167
Figure 962493DEST_PATH_IMAGE168
Figure 729461DEST_PATH_IMAGE169
Figure 208984DEST_PATH_IMAGE170
(28)
Figure 619236DEST_PATH_IMAGE167
,
Figure 962493DEST_PATH_IMAGE168
,
Figure 729461DEST_PATH_IMAGE169
,
Figure 208984DEST_PATH_IMAGE170
(28)

Figure 22612DEST_PATH_IMAGE171
Figure 22612DEST_PATH_IMAGE171

现在,我们可以将约束(24)式到(27)式转化成以下矩阵形式:Now, we can convert the constraints (24) to (27) into the following matrix form:

Figure 587586DEST_PATH_IMAGE172
(29)
Figure 587586DEST_PATH_IMAGE172
(29)

Figure 892665DEST_PATH_IMAGE173
(30)
Figure 892665DEST_PATH_IMAGE173
(30)

借助Gurobi优化器对上述优化问题进行求解,我们可以得到:Using the Gurobi optimizer to solve the above optimization problem, we can get:

Figure 492274DEST_PATH_IMAGE174
Figure 975339DEST_PATH_IMAGE175
Figure 293188DEST_PATH_IMAGE176
Figure 11745DEST_PATH_IMAGE177
Figure 590494DEST_PATH_IMAGE178
Figure 369094DEST_PATH_IMAGE179
Figure 548140DEST_PATH_IMAGE180
Figure 70389DEST_PATH_IMAGE181
Figure 503644DEST_PATH_IMAGE182
Figure 492274DEST_PATH_IMAGE174
,
Figure 975339DEST_PATH_IMAGE175
,
Figure 293188DEST_PATH_IMAGE176
,
Figure 11745DEST_PATH_IMAGE177
;
Figure 590494DEST_PATH_IMAGE178
,
Figure 369094DEST_PATH_IMAGE179
,
Figure 548140DEST_PATH_IMAGE180
,
Figure 70389DEST_PATH_IMAGE181
;
Figure 503644DEST_PATH_IMAGE182

因此,将求解获得的切割模式更新矩阵A中的第1列我们可以得到

Figure 453145DEST_PATH_IMAGE183
如下:Therefore, updating the first column in the matrix A with the cutting pattern obtained by solving we can get
Figure 453145DEST_PATH_IMAGE183
as follows:

Figure 480007DEST_PATH_IMAGE184
(31)
Figure 480007DEST_PATH_IMAGE184
(31)

第2次迭代开始(第2种切割模式生成):The 2nd iteration starts (2nd cut mode generation):

同样,根据(31)式,我们得到目标优化问题如下:Similarly, according to (31), we get the target optimization problem as follows:

目标函数:

Figure 681313DEST_PATH_IMAGE185
(32)Objective function:
Figure 681313DEST_PATH_IMAGE185
(32)

约束条件:Restrictions:

Figure 844441DEST_PATH_IMAGE186
(33)
Figure 844441DEST_PATH_IMAGE186
(33)

Figure 355056DEST_PATH_IMAGE187
(34)
Figure 355056DEST_PATH_IMAGE187
(34)

Figure 869214DEST_PATH_IMAGE188
Figure 110096DEST_PATH_IMAGE189
Figure 127731DEST_PATH_IMAGE190
Figure 950193DEST_PATH_IMAGE191
(35)
Figure 869214DEST_PATH_IMAGE188
,
Figure 110096DEST_PATH_IMAGE189
,
Figure 127731DEST_PATH_IMAGE190
,
Figure 950193DEST_PATH_IMAGE191
(35)

Figure 810702DEST_PATH_IMAGE192
Figure 212864DEST_PATH_IMAGE193
Figure 491530DEST_PATH_IMAGE194
Figure 219315DEST_PATH_IMAGE195
.
Figure 301540DEST_PATH_IMAGE196
(36)
Figure 810702DEST_PATH_IMAGE192
,
Figure 212864DEST_PATH_IMAGE193
,
Figure 491530DEST_PATH_IMAGE194
,
Figure 219315DEST_PATH_IMAGE195
.
Figure 301540DEST_PATH_IMAGE196
(36)

现在,我们对(33)式进行矩阵初等行变化,同时,(7)式中的矩阵

Figure 772973DEST_PATH_IMAGE081
做与(33)式相同的矩阵初等行变化,得到
Figure 139101DEST_PATH_IMAGE197
,分别如下(37)式和(38)式所示:Now, we perform matrix elementary row transformation on (33), and at the same time, the matrix in (7)
Figure 772973DEST_PATH_IMAGE081
Doing the same elementary row transformation of the matrix as in (33), we get
Figure 139101DEST_PATH_IMAGE197
, as shown in (37) and (38) below:

Figure 37787DEST_PATH_IMAGE198
(37)
Figure 37787DEST_PATH_IMAGE198
(37)

Figure 748254DEST_PATH_IMAGE199
(38)
Figure 748254DEST_PATH_IMAGE199
(38)

此时,将决策变量

Figure 882432DEST_PATH_IMAGE200
固定为
Figure 729165DEST_PATH_IMAGE201
所以,我们可以得到:At this point, the decision variable
Figure 882432DEST_PATH_IMAGE200
fixed as
Figure 729165DEST_PATH_IMAGE201
So, we can get:

Figure 939698DEST_PATH_IMAGE202
(39)
Figure 939698DEST_PATH_IMAGE202
(39)

Figure 871882DEST_PATH_IMAGE203
(40)
Figure 871882DEST_PATH_IMAGE203
(40)

Figure 809751DEST_PATH_IMAGE204
(41)
Figure 809751DEST_PATH_IMAGE204
(41)

Figure 42149DEST_PATH_IMAGE205
(42)
Figure 42149DEST_PATH_IMAGE205
(42)

同理,通过

Figure 17058DEST_PATH_IMAGE206
Figure 78949DEST_PATH_IMAGE207
,通过(37)式,令
Figure 430295DEST_PATH_IMAGE208
,因此,(39)到(41)式可以写成如下矩阵形式:In the same way, through
Figure 17058DEST_PATH_IMAGE206
make
Figure 78949DEST_PATH_IMAGE207
, through (37), let
Figure 430295DEST_PATH_IMAGE208
, therefore, equations (39) to (41) can be written in the following matrix form:

Figure 641834DEST_PATH_IMAGE209
(43)
Figure 641834DEST_PATH_IMAGE209
(43)

所以,上述目标优化问题可以被更新成如下形式:Therefore, the above objective optimization problem can be updated as follows:

目标函数:

Figure 787645DEST_PATH_IMAGE210
(44)Objective function:
Figure 787645DEST_PATH_IMAGE210
(44)

约束条件:Restrictions:

Figure 569787DEST_PATH_IMAGE211
(45)
Figure 569787DEST_PATH_IMAGE211
(45)

Figure 724825DEST_PATH_IMAGE212
(46)
Figure 724825DEST_PATH_IMAGE212
(46)

Figure 525290DEST_PATH_IMAGE213
(47)
Figure 525290DEST_PATH_IMAGE213
(47)

Figure 373161DEST_PATH_IMAGE214
(48)
Figure 373161DEST_PATH_IMAGE214
(48)

Figure 767233DEST_PATH_IMAGE215
(49)
Figure 767233DEST_PATH_IMAGE215
(49)

Figure 834284DEST_PATH_IMAGE216
Figure 630202DEST_PATH_IMAGE217
Figure 773607DEST_PATH_IMAGE218
Figure 389396DEST_PATH_IMAGE219
(50)
Figure 834284DEST_PATH_IMAGE216
,
Figure 630202DEST_PATH_IMAGE217
,
Figure 773607DEST_PATH_IMAGE218
,
Figure 389396DEST_PATH_IMAGE219
(50)

Figure 761603DEST_PATH_IMAGE220
Figure 761603DEST_PATH_IMAGE220

可以将约束(45)式到(48)式写成如下矩阵形式:Constraints (45) to (48) can be written in the following matrix form:

Figure 677606DEST_PATH_IMAGE221
(51)
Figure 677606DEST_PATH_IMAGE221
(51)

Figure 601700DEST_PATH_IMAGE222
(52)
Figure 601700DEST_PATH_IMAGE222
(52)

将矩阵

Figure 94998DEST_PATH_IMAGE083
中的第2行构建一个行向量矩阵
Figure 129950DEST_PATH_IMAGE223
,这样,可以将等式约束(49)式写成如下形式:the matrix
Figure 94998DEST_PATH_IMAGE083
Line 2 in builds a matrix of row vectors
Figure 129950DEST_PATH_IMAGE223
, so that the equality constraint (49) can be written as follows:

Figure 23431DEST_PATH_IMAGE224
(53)
Figure 23431DEST_PATH_IMAGE224
(53)

借助Gurobi优化器对上述优化问题进行求解,我们可以得到:Using the Gurobi optimizer to solve the above optimization problem, we can get:

Figure 384005DEST_PATH_IMAGE225
Figure 99020DEST_PATH_IMAGE226
Figure 937663DEST_PATH_IMAGE227
Figure 438045DEST_PATH_IMAGE228
Figure 384005DEST_PATH_IMAGE225
,
Figure 99020DEST_PATH_IMAGE226
,
Figure 937663DEST_PATH_IMAGE227
,
Figure 438045DEST_PATH_IMAGE228
;

Figure 969521DEST_PATH_IMAGE229
Figure 47198DEST_PATH_IMAGE230
Figure 548587DEST_PATH_IMAGE231
Figure 28110DEST_PATH_IMAGE232
Figure 838809DEST_PATH_IMAGE233
Figure 969521DEST_PATH_IMAGE229
,
Figure 47198DEST_PATH_IMAGE230
,
Figure 548587DEST_PATH_IMAGE231
,
Figure 28110DEST_PATH_IMAGE232
;
Figure 838809DEST_PATH_IMAGE233

所以,第2种切割模式被求解出,并用该切割模式更新矩阵A中的第2列,得到

Figure 669361DEST_PATH_IMAGE234
,如下所示:Therefore, the second cutting pattern is solved, and the second column in the matrix A is updated with this cutting pattern, obtaining
Figure 669361DEST_PATH_IMAGE234
,As follows:

Figure 974441DEST_PATH_IMAGE235
(54)
Figure 974441DEST_PATH_IMAGE235
(54)

第3次迭代开始(第3种切割模式生成):3rd iteration starts (3rd cut mode generated):

第3次迭代,目标优化问题被更新成如下:In the third iteration, the objective optimization problem is updated as follows:

目标函数:

Figure 574049DEST_PATH_IMAGE236
(55)Objective function:
Figure 574049DEST_PATH_IMAGE236
(55)

约束条件:Restrictions:

Figure 447327DEST_PATH_IMAGE237
(56)
Figure 447327DEST_PATH_IMAGE237
(56)

Figure 109384DEST_PATH_IMAGE238
(57)
Figure 109384DEST_PATH_IMAGE238
(57)

Figure 93521DEST_PATH_IMAGE216
Figure 937849DEST_PATH_IMAGE239
Figure 450870DEST_PATH_IMAGE240
Figure 101687DEST_PATH_IMAGE241
(58)
Figure 93521DEST_PATH_IMAGE216
,
Figure 937849DEST_PATH_IMAGE239
,
Figure 450870DEST_PATH_IMAGE240
,
Figure 101687DEST_PATH_IMAGE241
(58)

Figure 623935DEST_PATH_IMAGE242
Figure 57191DEST_PATH_IMAGE243
Figure 616479DEST_PATH_IMAGE244
Figure 908920DEST_PATH_IMAGE245
.
Figure 828335DEST_PATH_IMAGE246
(59)
Figure 623935DEST_PATH_IMAGE242
,
Figure 57191DEST_PATH_IMAGE243
,
Figure 616479DEST_PATH_IMAGE244
,
Figure 908920DEST_PATH_IMAGE245
.
Figure 828335DEST_PATH_IMAGE246
(59)

此时,对(56)式进行初等行变化,使其变化成(60)式,但是我们为了简化重复繁琐的矩阵变化,降低矩阵变化的计算时间,我们可以选择直接对(37)式中的第2列进行初等行变化则可,该列可以通过

Figure 257042DEST_PATH_IMAGE087
Figure 751346DEST_PATH_IMAGE062
得到,因为第2种切割模式
Figure 999925DEST_PATH_IMAGE080
已经被第2次迭代求解出。因此,具体地说,我们直接对
Figure 988610DEST_PATH_IMAGE087
Figure 271823DEST_PATH_IMAGE062
进行初等行变化就行,同时得到
Figure 438494DEST_PATH_IMAGE083
被更新成
Figure 174368DEST_PATH_IMAGE247
,使其变成如下(60)式和(61)式所示:At this time, the elementary row changes are performed on (56) to make it change to (60), but in order to simplify and repeat the cumbersome matrix changes and reduce the calculation time of matrix changes, we can choose to directly change the formula in (37) The second column can be used for elementary row changes, and this column can be passed
Figure 257042DEST_PATH_IMAGE087
and
Figure 751346DEST_PATH_IMAGE062
get, because the 2nd cutting mode
Figure 999925DEST_PATH_IMAGE080
has been solved by the second iteration. Therefore, specifically, we directly
Figure 988610DEST_PATH_IMAGE087
and
Figure 271823DEST_PATH_IMAGE062
It is enough to perform elementary row changes, and at the same time get
Figure 438494DEST_PATH_IMAGE083
was updated to
Figure 174368DEST_PATH_IMAGE247
, so that it becomes the following equations (60) and (61):

Figure 107689DEST_PATH_IMAGE248
(60)
Figure 107689DEST_PATH_IMAGE248
(60)

Figure 370043DEST_PATH_IMAGE249
(61)
Figure 370043DEST_PATH_IMAGE249
(61)

此时, 我们将决策变量

Figure 832249DEST_PATH_IMAGE250
固定为一个常量
Figure 432251DEST_PATH_IMAGE251
,这样,我们可以得到:In this case, we will make the decision variable
Figure 832249DEST_PATH_IMAGE250
fixed as a constant
Figure 432251DEST_PATH_IMAGE251
, so we can get:

Figure 169263DEST_PATH_IMAGE252
(62)
Figure 169263DEST_PATH_IMAGE252
(62)

Figure 286123DEST_PATH_IMAGE253
(63)
Figure 286123DEST_PATH_IMAGE253
(63)

Figure 919230DEST_PATH_IMAGE254
(64)
Figure 919230DEST_PATH_IMAGE254
(64)

Figure 895276DEST_PATH_IMAGE255
(65)
Figure 895276DEST_PATH_IMAGE255
(65)

同理,通过

Figure 780187DEST_PATH_IMAGE256
,可以得到
Figure 626920DEST_PATH_IMAGE257
Figure 821141DEST_PATH_IMAGE258
可以通过(60)式获得,然后通过
Figure 18904DEST_PATH_IMAGE259
,可以得到
Figure 206041DEST_PATH_IMAGE260
,所以,可以将(62)式到(64)式写成:In the same way, through
Figure 780187DEST_PATH_IMAGE256
, can get
Figure 626920DEST_PATH_IMAGE257
,
Figure 821141DEST_PATH_IMAGE258
can be obtained by (60), then by
Figure 18904DEST_PATH_IMAGE259
, can get
Figure 206041DEST_PATH_IMAGE260
, so formulas (62) to (64) can be written as:

Figure 907280DEST_PATH_IMAGE262
(66)
Figure 907280DEST_PATH_IMAGE262
(66)

对于这次迭代,目标函数可以写成如下形式:For this iteration, the objective function can be written as follows:

目标函数:

Figure 272403DEST_PATH_IMAGE263
(67)Objective function:
Figure 272403DEST_PATH_IMAGE263
(67)

约束条件:

Figure 691883DEST_PATH_IMAGE264
(68)Restrictions:
Figure 691883DEST_PATH_IMAGE264
(68)

Figure 308809DEST_PATH_IMAGE265
(69)
Figure 308809DEST_PATH_IMAGE265
(69)

Figure 5500DEST_PATH_IMAGE266
(70)
Figure 5500DEST_PATH_IMAGE266
(70)

Figure 416890DEST_PATH_IMAGE267
(71)
Figure 416890DEST_PATH_IMAGE267
(71)

Figure 448300DEST_PATH_IMAGE268
(72)
Figure 448300DEST_PATH_IMAGE268
(72)

Figure 868917DEST_PATH_IMAGE269
Figure 921580DEST_PATH_IMAGE270
Figure 503871DEST_PATH_IMAGE240
Figure 22577DEST_PATH_IMAGE271
(73)
Figure 868917DEST_PATH_IMAGE269
,
Figure 921580DEST_PATH_IMAGE270
,
Figure 503871DEST_PATH_IMAGE240
,
Figure 22577DEST_PATH_IMAGE271
(73)

Figure 715727DEST_PATH_IMAGE246
Figure 715727DEST_PATH_IMAGE246

可以将约束(68)式到(71)式写成如下形式:Constraints (68) to (71) can be written as follows:

Figure 777224DEST_PATH_IMAGE272
(74)
Figure 777224DEST_PATH_IMAGE272
(74)

Figure 140203DEST_PATH_IMAGE273
(75)
Figure 140203DEST_PATH_IMAGE273
(75)

将矩阵

Figure 21571DEST_PATH_IMAGE274
中的第3行转化成一个行向量矩阵
Figure 643046DEST_PATH_IMAGE275
,因此,可以将等式约束(72)式写成:the matrix
Figure 21571DEST_PATH_IMAGE274
Convert the 3rd row in a matrix of row vectors
Figure 643046DEST_PATH_IMAGE275
, therefore, the equality constraint (72) can be written as:

Figure 293470DEST_PATH_IMAGE276
(76)
Figure 293470DEST_PATH_IMAGE276
(76)

借助Gurobi优化器对上述优化问题进行求解,这样,我们得到第3次迭代的结果如下:Solve the above optimization problem with the help of Gurobi optimizer, so we get the result of the third iteration as follows:

Figure 591465DEST_PATH_IMAGE277
Figure 694550DEST_PATH_IMAGE278
Figure 854136DEST_PATH_IMAGE279
Figure 624646DEST_PATH_IMAGE280
Figure 591465DEST_PATH_IMAGE277
,
Figure 694550DEST_PATH_IMAGE278
,
Figure 854136DEST_PATH_IMAGE279
,
Figure 624646DEST_PATH_IMAGE280
;

Figure 595007DEST_PATH_IMAGE281
Figure 185388DEST_PATH_IMAGE282
Figure 148665DEST_PATH_IMAGE283
Figure 773682DEST_PATH_IMAGE284
Figure 404690DEST_PATH_IMAGE285
Figure 595007DEST_PATH_IMAGE281
,
Figure 185388DEST_PATH_IMAGE282
,
Figure 148665DEST_PATH_IMAGE283
,
Figure 773682DEST_PATH_IMAGE284
;
Figure 404690DEST_PATH_IMAGE285

注意:第2次迭代的结果

Figure 482368DEST_PATH_IMAGE286
与第3次迭代的结果
Figure 983756DEST_PATH_IMAGE287
相同,并且
Figure 463279DEST_PATH_IMAGE288
Figure 509863DEST_PATH_IMAGE289
相同,所以,
Figure 199471DEST_PATH_IMAGE290
如下所示:Note: the result of the 2nd iteration
Figure 482368DEST_PATH_IMAGE286
with the result of the 3rd iteration
Figure 983756DEST_PATH_IMAGE287
the same, and
Figure 463279DEST_PATH_IMAGE288
and
Figure 509863DEST_PATH_IMAGE289
same, so,
Figure 199471DEST_PATH_IMAGE290
As follows:

Figure 379916DEST_PATH_IMAGE291
(77)
Figure 379916DEST_PATH_IMAGE291
(77)

第4次迭代开始(第4种切割模式生成):4th iteration starts (4th cut mode generated):

第4次迭代的目标优化问题被更新成如下:The objective optimization problem for iteration 4 is updated as follows:

目标函数:

Figure 822268DEST_PATH_IMAGE292
(78)Objective function:
Figure 822268DEST_PATH_IMAGE292
(78)

约束条件:Restrictions:

Figure 429967DEST_PATH_IMAGE293
(79)
Figure 429967DEST_PATH_IMAGE293
(79)

Figure 606870DEST_PATH_IMAGE294
(80)
Figure 606870DEST_PATH_IMAGE294
(80)

Figure 591007DEST_PATH_IMAGE295
Figure 654909DEST_PATH_IMAGE296
Figure 433509DEST_PATH_IMAGE297
Figure 832129DEST_PATH_IMAGE298
(81)
Figure 591007DEST_PATH_IMAGE295
,
Figure 654909DEST_PATH_IMAGE296
,
Figure 433509DEST_PATH_IMAGE297
,
Figure 832129DEST_PATH_IMAGE298
(81)

Figure 731209DEST_PATH_IMAGE242
Figure 39830DEST_PATH_IMAGE243
Figure 113965DEST_PATH_IMAGE244
Figure 140827DEST_PATH_IMAGE245
.
Figure 466766DEST_PATH_IMAGE246
(82)
Figure 731209DEST_PATH_IMAGE242
,
Figure 39830DEST_PATH_IMAGE243
,
Figure 113965DEST_PATH_IMAGE244
,
Figure 140827DEST_PATH_IMAGE245
.
Figure 466766DEST_PATH_IMAGE246
(82)

同样地,与第3次迭代一样,直接对

Figure 505261DEST_PATH_IMAGE299
Figure 891243DEST_PATH_IMAGE300
进行初等行变化,同时得到
Figure 530034DEST_PATH_IMAGE301
被更新成
Figure 394085DEST_PATH_IMAGE302
,使其变成如下:Likewise, as in iteration 3, directly apply
Figure 505261DEST_PATH_IMAGE299
and
Figure 891243DEST_PATH_IMAGE300
Perform elementary row changes while obtaining
Figure 530034DEST_PATH_IMAGE301
was updated to
Figure 394085DEST_PATH_IMAGE302
, so that it becomes the following:

Figure 51200DEST_PATH_IMAGE303
(83)
Figure 51200DEST_PATH_IMAGE303
(83)

Figure 342504DEST_PATH_IMAGE304
(84)
Figure 342504DEST_PATH_IMAGE304
(84)

观察(83)式中的

Figure 343958DEST_PATH_IMAGE305
和(84)式中的
Figure 136334DEST_PATH_IMAGE302
的关系,可得到如下等式成立:Observe that in (83)
Figure 343958DEST_PATH_IMAGE305
and in (84)
Figure 136334DEST_PATH_IMAGE302
relationship, the following equation can be established:

Figure 274054DEST_PATH_IMAGE306
(85)
Figure 274054DEST_PATH_IMAGE306
(85)

因此,将决策变量

Figure 611626DEST_PATH_IMAGE307
固定为
Figure 100376DEST_PATH_IMAGE308
之后,其余决策变量与列变量
Figure 430863DEST_PATH_IMAGE080
之间关系如下:Therefore, the decision variable
Figure 611626DEST_PATH_IMAGE307
fixed as
Figure 100376DEST_PATH_IMAGE308
After that, the rest of the decision variables are compared with the column variables
Figure 430863DEST_PATH_IMAGE080
The relationship between them is as follows:

Figure 423090DEST_PATH_IMAGE309
(86)
Figure 423090DEST_PATH_IMAGE309
(86)

Figure 587355DEST_PATH_IMAGE310
(87)
Figure 587355DEST_PATH_IMAGE310
(87)

Figure 674653DEST_PATH_IMAGE311
(88)
Figure 674653DEST_PATH_IMAGE311
(88)

Figure 418618DEST_PATH_IMAGE312
(89)
Figure 418618DEST_PATH_IMAGE312
(89)

通过矩阵

Figure 655564DEST_PATH_IMAGE313
,可以得到
Figure 459572DEST_PATH_IMAGE314
,同样,通过
Figure 798281DEST_PATH_IMAGE315
,可以得到
Figure 345937DEST_PATH_IMAGE316
,因此,将(86)式到(88)式写成:through the matrix
Figure 655564DEST_PATH_IMAGE313
, can get
Figure 459572DEST_PATH_IMAGE314
, similarly, via
Figure 798281DEST_PATH_IMAGE315
, can get
Figure 345937DEST_PATH_IMAGE316
, therefore, formulas (86) to (88) can be written as:

Figure 437390DEST_PATH_IMAGE317
(90)
Figure 437390DEST_PATH_IMAGE317
(90)

这样,目标优化问题可以写成:Thus, the objective optimization problem can be written as:

目标函数:

Figure 677878DEST_PATH_IMAGE318
(91)Objective function:
Figure 677878DEST_PATH_IMAGE318
(91)

约束条件:Restrictions:

Figure 362938DEST_PATH_IMAGE319
(92)
Figure 362938DEST_PATH_IMAGE319
(92)

Figure 88186DEST_PATH_IMAGE320
(93)
Figure 88186DEST_PATH_IMAGE320
(93)

Figure 909511DEST_PATH_IMAGE321
(94)
Figure 909511DEST_PATH_IMAGE321
(94)

Figure 711114DEST_PATH_IMAGE322
(95)
Figure 711114DEST_PATH_IMAGE322
(95)

Figure 352311DEST_PATH_IMAGE323
(96)
Figure 352311DEST_PATH_IMAGE323
(96)

Figure 382715DEST_PATH_IMAGE324
Figure 324126DEST_PATH_IMAGE325
Figure 31051DEST_PATH_IMAGE326
Figure 690702DEST_PATH_IMAGE327
.
Figure 383852DEST_PATH_IMAGE328
(97)
Figure 382715DEST_PATH_IMAGE324
,
Figure 324126DEST_PATH_IMAGE325
,
Figure 31051DEST_PATH_IMAGE326
,
Figure 690702DEST_PATH_IMAGE327
.
Figure 383852DEST_PATH_IMAGE328
(97)

此时,可以将约束(92)式到(95)式写成如下矩阵形式:At this point, constraints (92) to (95) can be written in the following matrix form:

Figure 291022DEST_PATH_IMAGE329
(98)
Figure 291022DEST_PATH_IMAGE329
(98)

Figure 44214DEST_PATH_IMAGE330
(99)
Figure 44214DEST_PATH_IMAGE330
(99)

将矩阵

Figure 315795DEST_PATH_IMAGE313
中的第4行转化为一个行向量矩阵
Figure 812636DEST_PATH_IMAGE331
,如此,可以将等式约束(96)式写成如下:the matrix
Figure 315795DEST_PATH_IMAGE313
The 4th row in is transformed into a row vector matrix
Figure 812636DEST_PATH_IMAGE331
, so the equality constraint (96) can be written as follows:

Figure 338426DEST_PATH_IMAGE332
(100)
Figure 338426DEST_PATH_IMAGE332
(100)

借助Gurobi优化器求解上述优化问题,可以得到第4次迭代(第4种切割模式)的结果如下:Using the Gurobi optimizer to solve the above optimization problem, the result of the fourth iteration (the fourth cutting mode) can be obtained as follows:

Figure 262520DEST_PATH_IMAGE333
Figure 631184DEST_PATH_IMAGE334
Figure 790770DEST_PATH_IMAGE335
Figure 826859DEST_PATH_IMAGE336
Figure 262520DEST_PATH_IMAGE333
,
Figure 631184DEST_PATH_IMAGE334
,
Figure 790770DEST_PATH_IMAGE335
,
Figure 826859DEST_PATH_IMAGE336
;

Figure 764597DEST_PATH_IMAGE337
Figure 886137DEST_PATH_IMAGE338
Figure 849414DEST_PATH_IMAGE339
Figure 208851DEST_PATH_IMAGE340
Figure 350113DEST_PATH_IMAGE341
Figure 764597DEST_PATH_IMAGE337
,
Figure 886137DEST_PATH_IMAGE338
,
Figure 849414DEST_PATH_IMAGE339
,
Figure 208851DEST_PATH_IMAGE340
;
Figure 350113DEST_PATH_IMAGE341

最后,我们将求解结果写成如下矩阵形式:Finally, we write the solution result in the following matrix form:

Figure 427791DEST_PATH_IMAGE342
Figure 335704DEST_PATH_IMAGE343
;目标函数值
Figure 939861DEST_PATH_IMAGE344
Figure 427791DEST_PATH_IMAGE342
;
Figure 335704DEST_PATH_IMAGE343
; objective function value
Figure 939861DEST_PATH_IMAGE344

该案例展示了对本发明建立的新数学模型进行求解的具体步骤,因为第4次迭代已经到最优整数解(通过列生成精确算法可以获得最优松弛解为5.9,所以最优整数解下界为6),而且决策变量值没有出现小数,因此,不需要对决策变量进行取整。上述案例只展示了迭代次数k=βm(β=1)的求解步骤,当迭代次数k=βm(β=1)时,求解步骤相同,只需将第m+1次迭代产生的切割模式替换矩阵A中的第1列则可,以此类推,直至迭代次数k=2m为止。This case shows the specific steps of solving the new mathematical model established by the present invention, because the 4th iteration has arrived at the optimal integer solution (the optimal slack solution can be obtained by the column generation exact algorithm to be 5.9, so the lower bound of the optimal integer solution is 6), and there are no decimals in the decision variable value, therefore, there is no need to round the decision variable. The above case only shows the solution steps for the number of iterations k=βm (β=1). When the number of iterations k=βm (β=1), the solution steps are the same, just replace the cutting pattern generated by the m+1th iteration with The first column in matrix A is OK, and so on until the number of iterations k=2m.

本发明每一次迭代过程中,本发明通过将当前求解列(切割模式)所对应的决策变量设置为一个常数,其值大小等于前一次迭代后,该列所对应的决策变量的值。由此,其余所有的决策变量与当前需求解的未知列向量变量矩阵

Figure 376658DEST_PATH_IMAGE080
(切割模式
Figure 408261DEST_PATH_IMAGE080
)建立起明显的线性关系。In each iteration process of the present invention, the present invention sets the decision variable corresponding to the current solution column (cutting mode) as a constant whose value is equal to the value of the decision variable corresponding to the column after the previous iteration. Thus, all the other decision variables and the unknown column vector variable matrix that needs to be solved currently
Figure 376658DEST_PATH_IMAGE080
(cut mode
Figure 408261DEST_PATH_IMAGE080
) establishes an apparent linear relationship.

在本实施例中,所述步骤S5具体包含如下步骤:In this embodiment, the step S5 specifically includes the following steps:

步骤S510、初始可行解即由上述求解产生的m种切割模式组成矩阵A中的每一列,矩阵A中的每一列(每一种切割模式)对应的决策变量,依据矩阵A建立CG算法的初始迭代基矩阵B;Step S510, the initial feasible solution is each column in the matrix A composed of the m cutting modes generated by the above solution, and the decision variables corresponding to each column (each cutting mode) in the matrix A, and the initial CG algorithm is established based on the matrix A Iterate basis matrix B;

步骤S520、提出新数学模型(VTC模型),并借助Gurobi优化器对其进行迭代训练,直至迭代的次数达到设定值,得到初始可行解,并由此构造初始迭代基矩阵B;Step S520, propose a new mathematical model (VTC model), and iteratively train it with the help of the Gurobi optimizer until the number of iterations reaches the set value, obtain an initial feasible solution, and construct an initial iterative base matrix B accordingly;

步骤S530、基于初始迭代基矩阵B,利用CG算法对其进行迭代训练,直至第二目标函数的值不再变小,获得最优松弛解;则将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤S6。Step S530, based on the initial iterative base matrix B, use the CG algorithm to iteratively train it until the value of the second objective function no longer becomes smaller, and obtain the optimal relaxation solution; The value of the sum of the decision variables in the middle is compared, and the decision variable generated by the side with the smallest sum is selected as the final decision variable, and the corresponding blanking and layout plan is the final raw material blanking and layout plan. If the optimal relaxation If the solutions are not all non-negative integers, go to step S6.

本发明提出的算法在湖南某公司完成测试和应用,针对某一批零单工程数据的测试(原材料-铝材长度L=6000cm,其余数据见表4),采用不同算法和专业性商业软件进行求解,其结果如下表1所示:The algorithm proposed by the present invention has been tested and applied in a certain company in Hunan. For the test of a certain batch of zero-order engineering data (raw material-aluminum length L=6000cm, and the remaining data are shown in Table 4), different algorithms and professional commercial software are used to solve the problem. , and the results are shown in Table 1 below:

涉及的相关求解算法和商用软件的介绍:The introduction of related solving algorithms and commercial software involved:

创盈门窗下料软件:创盈门窗下料软件是由中国某有限公司开发的,该公司是国内知名的专业门窗设计和管理软件开发商。Chuangying door and window cutting software: Chuangying door and window cutting software is developed by a Chinese limited company, which is a well-known professional developer of door and window design and management software in China.

Gurobi 软件:Gurobi是由美国开发的新一代大规模优化器。广泛应用在金融、物流、制造、航空、石油石化、商业服务等多个领域,为智能化决策提供了坚实的基础,成为上千个成熟应用系统的核心优化引擎。Gurobi software: Gurobi is a new generation of large-scale optimizer developed by the United States. Widely used in many fields such as finance, logistics, manufacturing, aviation, petroleum and petrochemical, business services, etc., it provides a solid foundation for intelligent decision-making and has become the core optimization engine of thousands of mature application systems.

CG:经典列生成精确算法,由Gilmore P, Gomory RE 在1961年提出,直至目前,几乎所有相关优化优化器或专业商业软件都将其作为核心算法。CG: Classic column generation precise algorithm, proposed by Gilmore P, Gomory RE in 1961, until now, almost all related optimization optimizers or professional commercial software use it as the core algorithm.

FFD与Greedy:目前两款主流的启发式近似解算法,特别是Greedy算法是目前计算切割优化问题最先进的近似解算法。FFD and Greedy: There are currently two mainstream heuristic approximate solution algorithms, especially the Greedy algorithm is currently the most advanced approximate solution algorithm for computing cutting optimization problems.

根据文献调研:其余相关求解算法大都是对基于CG产生的松弛解进行四舍五入,以获得优化问题的整数解,属于策略层面上的研究。因此,本发明提出改进CG的VTCCG算法具有理论意义和实际应用价值。According to literature research: Most of the other related solving algorithms round the relaxation solutions generated based on CG to obtain integer solutions to optimization problems, which belongs to the research on the strategy level. Therefore, the VTCCG algorithm of the improved CG proposed by the present invention has theoretical significance and practical application value.

表1 现场数据的测试结果Table 1 Test results of field data

Figure 588706DEST_PATH_IMAGE345
Figure 588706DEST_PATH_IMAGE345

从表1展示的结果可知:本发明提出的算法(VTCCG)在保证目标函数值Obj最优的前提下(原材料消耗的总数量最少),所生成的不同排样方案,相比主流的两款启发式算法以及专业的知名商业软件-创盈来说,其数量减少尤为明显。从工程实际应用方面讲,不同排样方案的数量与切割的效率直接相关。因为每次换一种不同的切割排样方案,必须要重新调整被切割工件的位置坐标,即相当于调整切割刀具的位置,所以不同排样方案的数量与企业产品切割加工的时间成本直接相关。From the results shown in Table 1, it can be seen that the algorithm (VTCCG) proposed by the present invention ensures that the objective function value Obj is optimal (the total amount of raw material consumption is the least), and the different nesting schemes generated are better than the two mainstream ones. For heuristic algorithms and professional well-known business software - Chuangying, the reduction in the number is particularly obvious. From the perspective of engineering practical application, the number of different nesting schemes is directly related to the cutting efficiency. Because each time a different cutting and layout scheme is changed, the position coordinates of the workpiece to be cut must be readjusted, which is equivalent to adjusting the position of the cutting tool. Therefore, the number of different layout schemes is directly related to the time cost of cutting and processing the enterprise's products. .

为进一步验证本发明提出算法的有效性,采用权威随机数据生成器产生的公共数据集进行测试,除原材料长度参数不同之外(表2和表3中的原材料参数L=1500),其余参数均一致,即数据特征与公共数据集一致(与文献所示参数一样)。鉴于篇幅空间原因,这里只对公共数据集中第1类和第13类的数据进行测试(具体数据可见文献:Cerqueira, G.,Aguiar, S. S., Marques, M. (2021). Modified greedy heuristic for the one-dimensional cutting stock problem. Journal of Combinatorial Optimization, 1-18.),其前13个案例的求解结果如表2和表3所示:In order to further verify the effectiveness of the algorithm proposed by the present invention, the public data set generated by the authoritative random data generator is used for testing. Except for the different raw material length parameters (the raw material parameter L=1500 in Table 2 and Table 3), the remaining parameters are all Consistent, that is, the data characteristics are consistent with the public data set (the same as the parameters shown in the literature). Due to space reasons, only the data of categories 1 and 13 in the public data set are tested here (specific data can be found in the literature: Cerqueira, G., Aguiar, S. S., Marques, M. (2021). Modified greedy heuristic for the one-dimensional cutting stock problem. Journal of Combinatorial Optimization, 1-18.), the solution results of the first 13 cases are shown in Table 2 and Table 3:

表2 公共数据集的部分仿真测试结果Table 2 Partial simulation test results of public datasets

Figure 47369DEST_PATH_IMAGE346
Figure 47369DEST_PATH_IMAGE346

表3公共数据集的部分仿真测试结果Table 3 Partial simulation test results of public datasets

Figure 655068DEST_PATH_IMAGE348
Figure 655068DEST_PATH_IMAGE348

从表2和表3展示的结果可知:本发明提出的算法获得了较为理想的整数解,并且所生成不同的排样方案数量最少,大大少于列生成算法和其余两种著名的启发式算法,有利于简化切割工艺,提升企业的生产效率。From the results shown in Table 2 and Table 3, it can be seen that the algorithm proposed by the present invention has obtained a relatively ideal integer solution, and the number of different nesting schemes generated is the least, which is much less than the column generation algorithm and the other two well-known heuristic algorithms , which is conducive to simplifying the cutting process and improving the production efficiency of the enterprise.

本发明选用目前市场上常见的平开窗进行说明,其具体的下料数据详见表4,表4包含20个实例,表1中实例的下料数据来源于表4,表2和表3中实例的下料数据来源于公共数据集-仿真测试数据(见文献)。The present invention selects common casement windows on the market for illustration, and its specific blanking data is shown in Table 4. Table 4 contains 20 examples. The blanking data of the examples in Table 1 comes from Table 4, Table 2 and Table 3 The blanking data of the example in the example comes from the public data set-simulation test data (see literature).

表4、下料数据:Table 4, blanking data:

Figure 972917DEST_PATH_IMAGE349
Figure 972917DEST_PATH_IMAGE349

Figure 566841DEST_PATH_IMAGE350
Figure 566841DEST_PATH_IMAGE350

企业为完成门窗类产品订单的加工,需要从原材料为6000cm的标准长度上切割出不同尺寸和不同数量的零件,以满足完成门窗类产品的制作。然而,不同切割排样方案的数量与被切割工件的工位坐标设置直接有关,排样方案的数量越多,工位坐标设置的次数就越多。通过文献的调研可知:从数学理论层面上讲,对于求解一维切割问题的整数解,原材料消耗的总数量最小化与工位坐标设置的次数(不同排样方案的数量)是一对相互冲突的指标,即当将首要目标和辅助目标同时作为目标优化(双目标优化问题)时,不同排样方案的数量越少,原材料消耗的总数量就越多。而对于单目标优化问题(本发明研究的优化问题)的研究,目前存在的大部分求解算法在保证目标最优的情况下,很难获得令人满意的的排样方案(不同排样方案的数量越少越好)。相比其它存在的经典算法,本发明提出的算法可以较好地解决这一问题。In order to complete the processing of door and window product orders, the enterprise needs to cut parts of different sizes and different quantities from the standard length of 6000cm of raw materials to meet the completion of the production of door and window products. However, the number of different cutting layout schemes is directly related to the setting of station coordinates of the workpiece to be cut, the more the number of layout schemes, the more times the station coordinates are set. Through literature research, it can be seen that: from the perspective of mathematical theory, for the integer solution to the one-dimensional cutting problem, the minimization of the total amount of raw material consumption and the number of station coordinate settings (the number of different nesting schemes) are a pair of conflicts. The indicator of , that is, when the primary objective and the auxiliary objective are simultaneously used as the objective optimization (two-objective optimization problem), the fewer the number of different nesting schemes, the greater the total amount of raw material consumption. For the research on the single-objective optimization problem (the optimization problem studied by the present invention), most of the existing solution algorithms are difficult to obtain satisfactory layout schemes (different layout schemes) under the condition that the target is optimal. The lower the number, the better). Compared with other existing classical algorithms, the algorithm proposed by the present invention can better solve this problem.

案例对比效果展示:在表1中,用本发明算法和创盈门窗下料商业软件求解实例1的排样方案,分别用如下图2和图3所示:Case comparison effect display: In Table 1, use the algorithm of the present invention and Chuangying door and window blanking commercial software to solve the layout scheme of Example 1, as shown in Figure 2 and Figure 3 below:

在图2中,对于方案1:总共切割的长度是5828cm,需要切割4条铝管;对于方案2:总共切割的长度是5949cm,需要切割8条铝管;对于方案3:总共切割的长度是5896cm,需要切割4条铝管;对于方案4:总共切割的长度是5976cm,需要切割4条铝管;按照以上4种不同的排样方案进行切割,可以满足实例1对不同零件的需求数量。In Figure 2, for scheme 1: the total cut length is 5828cm, 4 aluminum tubes need to be cut; for scheme 2: the total cut length is 5949cm, and 8 aluminum tubes need to be cut; for scheme 3: the total cut length is 5896cm, 4 aluminum tubes need to be cut; for scheme 4: the total cutting length is 5976cm, 4 aluminum tubes need to be cut; cutting according to the above 4 different layout schemes can meet the requirements of example 1 for different parts.

在图3中,对于方案1:总共切割的长度是5965cm,需要切割4条铝管;对于方案2:总共切割的长度是5658cm,需要切割1条铝管;对于方案3:总共切割的长度是5975cm,需要切割6条铝管;对于方案4:总共切割的长度是5965cm,需要切割3条铝管;对于方案5:总共切割的长度是5973cm,需要切割3条铝管;对于方案6:总共切割的长度是5343cm,需要切割1条铝管;对于方案7:总共切割的长度是5964cm,需要切割1条铝管;对于方案8:总共切割的长度是5949cm,需要切割1条铝管;按照以上8种不同的排样方案进行切割,可以满足实例1对不同零件的需求数量。In Figure 3, for scheme 1: the total cut length is 5965cm, 4 aluminum tubes need to be cut; for scheme 2: the total cut length is 5658cm, and 1 aluminum tube needs to be cut; for scheme 3: the total cut length is 5975cm, you need to cut 6 aluminum tubes; for plan 4: the total length of cutting is 5965cm, you need to cut 3 aluminum tubes; for plan 5: the total length of cutting is 5973cm, you need to cut 3 aluminum tubes; for plan 6: a total of The cutting length is 5343cm, and one aluminum tube needs to be cut; for scheme 7: the total cutting length is 5964cm, and one aluminum tube needs to be cut; for scheme 8: the total cutting length is 5949cm, one aluminum tube needs to be cut; according to The cutting of the above 8 different layout schemes can meet the demand quantity of different parts in Example 1.

根据图2和图3的展示效果可知:本发明提出的算法(VTCCG)相比国内知名的专业门窗下料软件(创盈),其产生的排样方案种类更少,即不同下料排样方案的数量减少50%,而两者所消耗的原材料的总数量都是20根。这相当于切割工位坐标设置次数减少一半,可大大节省工位坐标的调整时间,有利于提升企业的生产效率。According to the display effect of Figure 2 and Figure 3, it can be known that the algorithm (VTCCG) proposed by the present invention has fewer types of layout schemes than the well-known professional door and window blanking software (Chuangying) in China, that is, different blanking and layout The number of solutions is reduced by 50%, and the total number of raw materials consumed by both is 20. This is equivalent to reducing the number of setting times of cutting station coordinates by half, which can greatly save the adjustment time of station coordinates, and is conducive to improving the production efficiency of enterprises.

以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不同限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。并且,本发明各个实施方式之间的技术方案可以相互结合,但是必须是以本领域普通技术人员能够实现为基础,当技术方案的结合出现相互矛盾或无法实现时应当认为这种技术方案的结合不存在,也不在本发明要求的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。The above is only a specific embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Anyone familiar with the technical field can easily think of changes or substitutions within the technical scope disclosed in the present invention, and should covered within the protection scope of the present invention. Moreover, the technical solutions of the various embodiments of the present invention can be combined with each other, but it must be based on the realization of those skilled in the art. When the combination of technical solutions is contradictory or cannot be realized, it should be considered as a combination of technical solutions. Does not exist, nor is it within the scope of protection required by the present invention. Therefore, the protection scope of the present invention should be determined by the protection scope of the claims.

Claims (6)

1.一种原材料下料排样的求解方法,其特征在于:包括如下步骤:1. A solution method for blanking and layout of raw materials, characterized in that: comprise the steps: 步骤S1、确定原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小;Step S1, determining the length of the raw material, the quantity of each blanking workpiece, and the size of each blanking workpiece; 步骤S2、依据原材料的长度、每种下料工件的数量、每种下料工件的尺寸大小建立原始数学模型,对原始数学模型矩阵化得到简化后的数学模型;Step S2, establishing an original mathematical model according to the length of the raw material, the quantity of each blanking workpiece, and the size of each blanking workpiece, and matrixing the original mathematical model to obtain a simplified mathematical model; 步骤S3、建立初始单位矩阵,引入常量参数,利用初始单位矩阵和常量参数对简化后的数学模型进行初等行变化,得到新数学模型;Step S3, establishing an initial unit matrix, introducing constant parameters, and using the initial unit matrix and constant parameters to perform elementary row changes on the simplified mathematical model to obtain a new mathematical model; 步骤S4、借助Gurobi优化器对新数学模型进行求解,得到新数学模型的初始可行解,初始可行解包括下料排样方案和决策变量,决策变量指不同排样方案对应的变量,即对应每一种排样方案所使用原材料的数量;Step S4, using the Gurobi optimizer to solve the new mathematical model to obtain the initial feasible solution of the new mathematical model. The initial feasible solution includes the blanking layout plan and decision variables. The decision variables refer to the variables corresponding to different layout plans, that is, corresponding to each The quantity of raw materials used in a layout plan; 步骤S5、利用CG算法在初始可行解的基础上继续进行求解,得到最优松弛解,最优松弛解是指最优决策变量,若最优松弛解全为非负整数,则将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤S6;Step S5. Use the CG algorithm to continue solving on the basis of the initial feasible solution to obtain the optimal relaxation solution. The optimal relaxation solution refers to the optimal decision variable. If the optimal relaxation solutions are all non-negative integers, the optimal decision The value of the variable sum is compared with the value of the decision variable sum in step S4, and the decision variable generated by the side with the smallest sum is selected as the final decision variable, and the corresponding blanking layout plan is the final raw material blanking Nesting plan, if the optimal relaxation solution is not all non-negative integers, then enter step S6; 步骤S6、借助启发式算法对步骤S5获得的最优松弛解进行取整,得到非负整数解,将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案;Step S6, use the heuristic algorithm to round the optimal relaxation solution obtained in step S5 to obtain a non-negative integer solution, compare the value of the optimal decision variable sum with the value of the decision variable sum in step S4, and select The decision variable generated by the smallest party is taken as the final decision variable, and the corresponding blanking and layout plan is the final raw material blanking and layout scheme; 所述步骤S2中的原始数学模型为:The original mathematical model in the step S2 is: 第一目标函数:
Figure 447815DEST_PATH_IMAGE001
The first objective function:
Figure 447815DEST_PATH_IMAGE001
第一约束条件:
Figure 688304DEST_PATH_IMAGE002
First constraint:
Figure 688304DEST_PATH_IMAGE002
Figure 701259DEST_PATH_IMAGE003
Figure 701259DEST_PATH_IMAGE003
Figure 114923DEST_PATH_IMAGE004
Figure 114923DEST_PATH_IMAGE004
Figure 201828DEST_PATH_IMAGE005
Figure 941114DEST_PATH_IMAGE006
Figure 113469DEST_PATH_IMAGE007
Figure 330824DEST_PATH_IMAGE008
Figure 334552DEST_PATH_IMAGE009
(1)
Figure 201828DEST_PATH_IMAGE005
,
Figure 941114DEST_PATH_IMAGE006
,
Figure 113469DEST_PATH_IMAGE007
,
Figure 330824DEST_PATH_IMAGE008
,
Figure 334552DEST_PATH_IMAGE009
(1)
其中,
Figure 916843DEST_PATH_IMAGE010
表示决策变量,具体表示第j种切割模式下所使用的原材料的数量;
Figure 373232DEST_PATH_IMAGE011
表示第j种切割模式中第i种待下料的产品的数量;
Figure 394278DEST_PATH_IMAGE012
表示第i种待下料的工件所需要的总数量;
Figure 455774DEST_PATH_IMAGE013
表示所需第i种待下料的工件的尺寸大小;L代表原材料的长度;
Figure 536863DEST_PATH_IMAGE014
表示非负整数;
in,
Figure 916843DEST_PATH_IMAGE010
Represents a decision variable, specifically representing the quantity of raw materials used in the jth cutting mode;
Figure 373232DEST_PATH_IMAGE011
Indicates the quantity of the i-th product to be unloaded in the j-th cutting mode;
Figure 394278DEST_PATH_IMAGE012
Indicates the total quantity required for the i-th workpiece to be blanked;
Figure 455774DEST_PATH_IMAGE013
Indicates the size of the i-th workpiece to be blanked; L represents the length of the raw material;
Figure 536863DEST_PATH_IMAGE014
Represents a non-negative integer;
所述步骤S2中简化后的数学模型具体为:The simplified mathematical model in the step S2 is specifically: 第二目标函数:
Figure 683811DEST_PATH_IMAGE015
Second objective function:
Figure 683811DEST_PATH_IMAGE015
第二约束条件:
Figure 242968DEST_PATH_IMAGE016
The second constraint:
Figure 242968DEST_PATH_IMAGE016
Figure 955709DEST_PATH_IMAGE017
Figure 955709DEST_PATH_IMAGE017
Figure 145382DEST_PATH_IMAGE018
Figure 576363DEST_PATH_IMAGE019
Figure 939211DEST_PATH_IMAGE020
Figure 709721DEST_PATH_IMAGE021
Figure 145382DEST_PATH_IMAGE018
,
Figure 576363DEST_PATH_IMAGE019
,
Figure 939211DEST_PATH_IMAGE020
,
Figure 709721DEST_PATH_IMAGE021
Figure 132612DEST_PATH_IMAGE022
(2)
Figure 132612DEST_PATH_IMAGE022
(2)
其中,
Figure 254152DEST_PATH_IMAGE023
表示一个1行n列的矩阵;解向量矩阵
Figure 155112DEST_PATH_IMAGE024
表示是一个n行1列的矩阵,该矩阵的元素是决策变量,它的值被约束为大于或等于零且为整数;A表示排样方案的矩阵,是一个m行n列的矩阵,
Figure 45708DEST_PATH_IMAGE025
,当求解完成所有的切割模式后,由产生的切割模式组成矩阵A中所有的列,每一列代表一种切割模式,在迭代开始前,它是一个m行m列的单位矩阵;
Figure 394429DEST_PATH_IMAGE026
表示一个m行1列的列向量需求矩阵,该矩阵的元素值表示不同尺寸工件的需求数量,m表示所需求工件种类的数量;
Figure 800002DEST_PATH_IMAGE027
表示一个m行1列的矩阵,该矩阵是一个列向量变量的列矩阵,其中的元素值为非负整数,
Figure 707915DEST_PATH_IMAGE028
代表当前需要被求解的一种切割模式,用
Figure 249755DEST_PATH_IMAGE028
作为
Figure 14449DEST_PATH_IMAGE029
的索引,
Figure 845002DEST_PATH_IMAGE028
表示所有可能的切割模式集,
Figure 822185DEST_PATH_IMAGE029
表示当前迭代需要被求解的一种切割模式
Figure 749690DEST_PATH_IMAGE028
,其中元素
Figure 622968DEST_PATH_IMAGE030
表示在切割模式
Figure 3133DEST_PATH_IMAGE028
中,第i种工件的数量,
Figure 784008DEST_PATH_IMAGE031
Figure 503702DEST_PATH_IMAGE032
表示一个1行m列的行向量矩阵,该矩阵的元素代表m个不同工件的尺寸大小;
Figure 610198DEST_PATH_IMAGE033
表示在切割模式
Figure 415343DEST_PATH_IMAGE028
中,不同工件的尺寸乘以各自对应不同工件数量的乘积之和要小于等于原材料的长度
Figure 999908DEST_PATH_IMAGE034
Figure 636426DEST_PATH_IMAGE035
中的0 表示一个元素全为0的m行1列的列向量矩阵,其中,矩阵
Figure 851507DEST_PATH_IMAGE029
中所有的变量值被约束为大于或等于零,且必须小于或等于各类工件对应的需求数量,其值
Figure 940685DEST_PATH_IMAGE036
in,
Figure 254152DEST_PATH_IMAGE023
Represents a matrix with 1 row and n columns; solution vector matrix
Figure 155112DEST_PATH_IMAGE024
Represents a matrix with n rows and 1 column. The elements of the matrix are decision variables, and its value is constrained to be greater than or equal to zero and an integer; A represents the matrix of the layout plan, which is a matrix with m rows and n columns.
Figure 45708DEST_PATH_IMAGE025
, when all the cutting patterns are solved, all the columns in the matrix A are composed of the generated cutting patterns, each column represents a cutting pattern, before the iteration starts, it is an identity matrix with m rows and m columns;
Figure 394429DEST_PATH_IMAGE026
Represents a column vector demand matrix with m rows and 1 column, the element values of the matrix represent the required quantity of workpieces of different sizes, and m represents the quantity of required workpiece types;
Figure 800002DEST_PATH_IMAGE027
Represents a matrix with m rows and 1 column, which is a column matrix of column vector variables, where the element values are non-negative integers,
Figure 707915DEST_PATH_IMAGE028
Represents a cutting mode that needs to be solved currently, using
Figure 249755DEST_PATH_IMAGE028
as
Figure 14449DEST_PATH_IMAGE029
index of,
Figure 845002DEST_PATH_IMAGE028
represents the set of all possible cutting patterns,
Figure 822185DEST_PATH_IMAGE029
Indicates a cut pattern that needs to be solved for the current iteration
Figure 749690DEST_PATH_IMAGE028
, where the elements
Figure 622968DEST_PATH_IMAGE030
Indicates in cutting mode
Figure 3133DEST_PATH_IMAGE028
, the quantity of the i-th kind of workpiece,
Figure 784008DEST_PATH_IMAGE031
;
Figure 503702DEST_PATH_IMAGE032
Represents a row vector matrix with 1 row and m columns, and the elements of the matrix represent the sizes of m different workpieces;
Figure 610198DEST_PATH_IMAGE033
Indicates in cutting mode
Figure 415343DEST_PATH_IMAGE028
, the sum of the products of the dimensions of different workpieces multiplied by the number of corresponding workpieces should be less than or equal to the length of the raw material
Figure 999908DEST_PATH_IMAGE034
;
Figure 636426DEST_PATH_IMAGE035
The 0 in represents a column vector matrix with m rows and 1 column whose elements are all 0, where the matrix
Figure 851507DEST_PATH_IMAGE029
All variable values in are constrained to be greater than or equal to zero, and must be less than or equal to the demand quantity corresponding to each type of workpiece, and its value
Figure 940685DEST_PATH_IMAGE036
;
所述步骤S3中的新数学模型具体为:The new mathematical model in the step S3 is specifically: 假设决策变量的数量为m个,不同工件种类的数量为m个,每迭代一次,生成一个新列,也代表生成一种新的切割模式
Figure 532204DEST_PATH_IMAGE028
,当迭代求解生成第k种切割模式
Figure 757649DEST_PATH_IMAGE028
时,对应的第三目标函数和第三约束条件可写成如下:
Assuming that the number of decision variables is m and the number of different workpiece types is m, each iteration generates a new column, which also represents the generation of a new cutting mode
Figure 532204DEST_PATH_IMAGE028
, when the iterative solution generates the kth cutting mode
Figure 757649DEST_PATH_IMAGE028
When , the corresponding third objective function and third constraints can be written as follows:
第三目标函数:
Figure 205948DEST_PATH_IMAGE037
The third objective function:
Figure 205948DEST_PATH_IMAGE037
第三约束条件:
Figure 985685DEST_PATH_IMAGE038
The third constraint:
Figure 985685DEST_PATH_IMAGE038
,
Figure 177632DEST_PATH_IMAGE039
Figure 177632DEST_PATH_IMAGE039
,
Figure 460845DEST_PATH_IMAGE040
Figure 460845DEST_PATH_IMAGE040
,
Figure 80046DEST_PATH_IMAGE041
,and
Figure 146746DEST_PATH_IMAGE042
Figure 814488DEST_PATH_IMAGE043
Figure 280104DEST_PATH_IMAGE044
Figure 80046DEST_PATH_IMAGE041
, and
Figure 146746DEST_PATH_IMAGE042
,
Figure 814488DEST_PATH_IMAGE043
,
Figure 280104DEST_PATH_IMAGE044
Figure 273468DEST_PATH_IMAGE045
Figure 293377DEST_PATH_IMAGE046
Figure 92705DEST_PATH_IMAGE047
Figure 273468DEST_PATH_IMAGE045
,
Figure 293377DEST_PATH_IMAGE046
,
Figure 92705DEST_PATH_IMAGE047
Figure 350511DEST_PATH_IMAGE048
Figure 311514DEST_PATH_IMAGE049
(3)
Figure 350511DEST_PATH_IMAGE048
,
Figure 311514DEST_PATH_IMAGE049
(3)
在(3)式中,
Figure 287561DEST_PATH_IMAGE050
表示在当前迭代中,将切割模式
Figure 359422DEST_PATH_IMAGE028
对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;
Figure 534051DEST_PATH_IMAGE051
表示求解切割模式
Figure 665955DEST_PATH_IMAGE028
时,通过将列向量矩阵
Figure 863718DEST_PATH_IMAGE052
的第k个元素强制为0获得;同理,
Figure 4850DEST_PATH_IMAGE053
表示求解切割模式
Figure 237248DEST_PATH_IMAGE028
时,通过将矩阵
Figure 540053DEST_PATH_IMAGE054
的第k行的元素强制为0元素获得;
Figure 287429DEST_PATH_IMAGE055
表示列向量变量矩阵
Figure 904356DEST_PATH_IMAGE029
参与矩阵初等变化之后的矩阵表达式;
Figure 53577DEST_PATH_IMAGE056
表示决策变量矩阵中除第k列对应的决策变量为固定值
Figure 464967DEST_PATH_IMAGE050
外,其余决策变量全部被约束为大于或等于零;
Figure 434060DEST_PATH_IMAGE057
表示未知列向量变量矩阵
Figure 916994DEST_PATH_IMAGE029
参与矩阵A进行初等行变化之后,矩阵A中第k行第k列元素的表达式,其值等于1,其中
Figure 858405DEST_PATH_IMAGE058
是一个1行m列矩阵,
Figure 768592DEST_PATH_IMAGE058
可通过将矩阵
Figure 428244DEST_PATH_IMAGE059
的第k行构建的行向量矩阵;目标函数
Figure 449289DEST_PATH_IMAGE060
Figure 304594DEST_PATH_IMAGE061
是一个元素全为1的1行m列矩阵。
In formula (3),
Figure 287561DEST_PATH_IMAGE050
Indicates that in the current iteration, the cutting pattern
Figure 359422DEST_PATH_IMAGE028
The corresponding decision variable is fixed as a constant parameter, which is equal to the value of the k-th column corresponding to the decision variable obtained from the previous iterative solution;
Figure 534051DEST_PATH_IMAGE051
Indicates the solution cut mode
Figure 665955DEST_PATH_IMAGE028
, by converting the column vector matrix
Figure 863718DEST_PATH_IMAGE052
The kth element of is forced to be 0; similarly,
Figure 4850DEST_PATH_IMAGE053
Indicates the solution cut mode
Figure 237248DEST_PATH_IMAGE028
, by adding the matrix
Figure 540053DEST_PATH_IMAGE054
The elements of the kth row are forced to be 0 elements;
Figure 287429DEST_PATH_IMAGE055
Represents a matrix of column vector variables
Figure 904356DEST_PATH_IMAGE029
Participate in the matrix expression after the elementary transformation of the matrix;
Figure 53577DEST_PATH_IMAGE056
Indicates that the decision variable corresponding to the kth column in the decision variable matrix is a fixed value
Figure 464967DEST_PATH_IMAGE050
Except for , the rest of the decision variables are all constrained to be greater than or equal to zero;
Figure 434060DEST_PATH_IMAGE057
represents an unknown column vector variable matrix
Figure 916994DEST_PATH_IMAGE029
After participating in the elementary row change of matrix A, the expression of the element in row k and column k in matrix A is equal to 1, where
Figure 858405DEST_PATH_IMAGE058
is a 1-row m-column matrix,
Figure 768592DEST_PATH_IMAGE058
can pass the matrix
Figure 428244DEST_PATH_IMAGE059
The row vector matrix constructed by the kth row of ; the objective function
Figure 449289DEST_PATH_IMAGE060
middle
Figure 304594DEST_PATH_IMAGE061
It is a matrix with 1 row and m columns whose elements are all 1.
2.根据权利要求1所述的求解方法,其特征在于,所述步骤S3具体包含如下步骤:2. The solution method according to claim 1, wherein said step S3 specifically comprises the following steps: 步骤S310、建立初始单位矩阵,引入一个常量参数
Figure 323366DEST_PATH_IMAGE050
,在每次迭代过程中,将第k列对应的决策变量固定为一个常量参数,该常量参数等于前一次迭代求解得到的第k列对应决策变量的值;在迭代开始时,取
Figure 267051DEST_PATH_IMAGE062
Figure 826208DEST_PATH_IMAGE063
表示列向量需求矩阵d 中的第1个元素值,对应第一种工件的需求数量,
Figure 742212DEST_PATH_IMAGE064
表示排样方案矩阵A中对应第1列的决策变量,也表示对应第一种切割模式
Figure 994202DEST_PATH_IMAGE028
的决策变量;
Step S310, establishing an initial identity matrix and introducing a constant parameter
Figure 323366DEST_PATH_IMAGE050
, during each iteration, the decision variable corresponding to the kth column is fixed as a constant parameter, which is equal to the value of the decision variable corresponding to the kth column obtained in the previous iteration; at the beginning of the iteration, take
Figure 267051DEST_PATH_IMAGE062
,
Figure 826208DEST_PATH_IMAGE063
Indicates the value of the first element in the column vector demand matrix d , corresponding to the demand quantity of the first type of workpiece,
Figure 742212DEST_PATH_IMAGE064
Indicates the decision variable corresponding to the first column in the layout scheme matrix A, and also indicates the corresponding first cutting mode
Figure 994202DEST_PATH_IMAGE028
decision variable;
步骤S320、利用常量参数对简化后的数学模型进行初等行变化,得到新数学模型。Step S320, using constant parameters to perform elementary changes to the simplified mathematical model to obtain a new mathematical model.
3.根据权利要求1所述的求解方法,其特征在于,所述步骤S4具体包含如下步骤:3. The solution method according to claim 1, wherein said step S4 specifically comprises the following steps: 步骤S410、利用Gurobi优化器对新数学模型进行求解;Step S410, using the Gurobi optimizer to solve the new mathematical model; 步骤S420、通过
Figure 628445DEST_PATH_IMAGE065
Figure 991293DEST_PATH_IMAGE066
Figure 558541DEST_PATH_IMAGE067
对新数学模型中的第三目标函数和第三约束条件进行更新,其中
Figure 919115DEST_PATH_IMAGE068
Figure 837393DEST_PATH_IMAGE069
Figure 941615DEST_PATH_IMAGE070
可通过初始单位矩阵
Figure 894527DEST_PATH_IMAGE071
获得;借助Gurobi优化器求解得到
Figure 222741DEST_PATH_IMAGE065
Figure 565997DEST_PATH_IMAGE067
,此时,第一种切割模式
Figure 270648DEST_PATH_IMAGE072
被求解出,并用
Figure 15750DEST_PATH_IMAGE065
Figure 780444DEST_PATH_IMAGE067
对矩阵A的第一列进行更新,对更新后的矩阵A进行初等行变化,同时对初始单位矩阵
Figure 407734DEST_PATH_IMAGE071
和矩阵
Figure 853759DEST_PATH_IMAGE073
做与矩阵A相同的初等行变化,得到更新矩阵
Figure 781264DEST_PATH_IMAGE071
后的矩阵
Figure 654542DEST_PATH_IMAGE074
,然后根据矩阵
Figure 503549DEST_PATH_IMAGE074
,得到矩阵
Figure 815582DEST_PATH_IMAGE075
,同时得到更新矩阵
Figure 332014DEST_PATH_IMAGE073
后的矩阵
Figure 376193DEST_PATH_IMAGE076
,根据矩阵
Figure 981005DEST_PATH_IMAGE076
,得到矩阵
Figure 768833DEST_PATH_IMAGE077
;同理,用
Figure 405351DEST_PATH_IMAGE078
Figure 417169DEST_PATH_IMAGE079
Figure 709610DEST_PATH_IMAGE080
更新迭代1次后新数学模型所对应的第三目标函数和第三约束条件,此时,
Figure 97866DEST_PATH_IMAGE081
未知,其中
Figure 792153DEST_PATH_IMAGE082
通过
Figure 240451DEST_PATH_IMAGE074
得到;
Step S420, pass
Figure 628445DEST_PATH_IMAGE065
,
Figure 991293DEST_PATH_IMAGE066
and
Figure 558541DEST_PATH_IMAGE067
Update the third objective function and the third constraints in the new mathematical model, where
Figure 919115DEST_PATH_IMAGE068
,
Figure 837393DEST_PATH_IMAGE069
and
Figure 941615DEST_PATH_IMAGE070
can pass through the initial identity matrix
Figure 894527DEST_PATH_IMAGE071
Obtained; with the help of Gurobi optimizer to solve
Figure 222741DEST_PATH_IMAGE065
and
Figure 565997DEST_PATH_IMAGE067
, at this time, the first cutting mode
Figure 270648DEST_PATH_IMAGE072
is solved and used
Figure 15750DEST_PATH_IMAGE065
and
Figure 780444DEST_PATH_IMAGE067
Update the first column of matrix A, perform elementary row changes on the updated matrix A, and at the same time update the initial identity matrix
Figure 407734DEST_PATH_IMAGE071
and matrix
Figure 853759DEST_PATH_IMAGE073
Do the same elementary row changes as matrix A to get the updated matrix
Figure 781264DEST_PATH_IMAGE071
After the matrix
Figure 654542DEST_PATH_IMAGE074
, and then according to the matrix
Figure 503549DEST_PATH_IMAGE074
, get the matrix
Figure 815582DEST_PATH_IMAGE075
, and at the same time get the update matrix
Figure 332014DEST_PATH_IMAGE073
After the matrix
Figure 376193DEST_PATH_IMAGE076
, according to the matrix
Figure 981005DEST_PATH_IMAGE076
, get the matrix
Figure 768833DEST_PATH_IMAGE077
; Similarly, use
Figure 405351DEST_PATH_IMAGE078
,
Figure 417169DEST_PATH_IMAGE079
and
Figure 709610DEST_PATH_IMAGE080
After updating the third objective function and the third constraint condition corresponding to the new mathematical model after one iteration, at this time,
Figure 97866DEST_PATH_IMAGE081
unknown, of which
Figure 792153DEST_PATH_IMAGE082
pass
Figure 240451DEST_PATH_IMAGE074
get;
步骤S430、借助Gurobi优化器对新数学模型进行k次迭代,k=2...k,计算
Figure 551347DEST_PATH_IMAGE083
Figure 680977DEST_PATH_IMAGE067
:将
Figure 292087DEST_PATH_IMAGE083
Figure 848970DEST_PATH_IMAGE067
的计算结果作为矩阵A的第k列,其中,
Figure 647162DEST_PATH_IMAGE082
可通过矩阵
Figure 642800DEST_PATH_IMAGE084
获得,然后对矩阵A进行初等行变化,同时对矩阵
Figure 46099DEST_PATH_IMAGE084
和矩阵
Figure 836201DEST_PATH_IMAGE085
做与矩阵A相同的初等行变化,得到矩阵
Figure 324951DEST_PATH_IMAGE086
,然后根据矩阵
Figure 858701DEST_PATH_IMAGE086
得到矩阵
Figure 178823DEST_PATH_IMAGE087
,同时得到更新矩阵
Figure 77509DEST_PATH_IMAGE085
后的矩阵
Figure 850293DEST_PATH_IMAGE088
,再根据矩阵
Figure 187734DEST_PATH_IMAGE088
得到矩阵
Figure 300046DEST_PATH_IMAGE089
,并用
Figure 697529DEST_PATH_IMAGE090
Figure 692030DEST_PATH_IMAGE091
Figure 770845DEST_PATH_IMAGE067
更新迭代k次后新数学模型所对应的第三目标函数和第三约束条件;
Step S430, use the Gurobi optimizer to perform k iterations on the new mathematical model, k=2...k, calculate
Figure 551347DEST_PATH_IMAGE083
and
Figure 680977DEST_PATH_IMAGE067
:Will
Figure 292087DEST_PATH_IMAGE083
and
Figure 848970DEST_PATH_IMAGE067
The calculation result of is taken as the kth column of matrix A, where,
Figure 647162DEST_PATH_IMAGE082
available through the matrix
Figure 642800DEST_PATH_IMAGE084
Obtain, and then perform elementary row changes on matrix A, and at the same time perform matrix
Figure 46099DEST_PATH_IMAGE084
and matrix
Figure 836201DEST_PATH_IMAGE085
Doing the same elementary row transformations as for matrix A yields the matrix
Figure 324951DEST_PATH_IMAGE086
, and then according to the matrix
Figure 858701DEST_PATH_IMAGE086
get the matrix
Figure 178823DEST_PATH_IMAGE087
, and at the same time get the update matrix
Figure 77509DEST_PATH_IMAGE085
After the matrix
Figure 850293DEST_PATH_IMAGE088
, and then according to the matrix
Figure 187734DEST_PATH_IMAGE088
get the matrix
Figure 300046DEST_PATH_IMAGE089
, and use
Figure 697529DEST_PATH_IMAGE090
,
Figure 692030DEST_PATH_IMAGE091
and
Figure 770845DEST_PATH_IMAGE067
updating the third objective function and the third constraint condition corresponding to the new mathematical model after k iterations;
步骤S440、循环步骤S430,直至迭代的次数k=βm,m值等于待下料的不同工件种类的数量,β表示迭代的系数,β=1or2;迭代k次后,得到第三约束条件和第三目标函数所构成的新数学模型的可行解。Step S440, loop step S430 until the number of iterations k=βm, the value of m is equal to the number of different types of workpieces to be blanked, β represents the coefficient of the iteration, β=1or2; after k iterations, the third constraint condition and the first The feasible solution of the new mathematical model composed of three objective functions.
4.根据权利要求3所述的求解方法,其特征在于,所述步骤S420中初始单位矩阵
Figure 531472DEST_PATH_IMAGE071
,迭代开始前矩阵A具体分别为:
4. The solution method according to claim 3, characterized in that the initial identity matrix in the step S420
Figure 531472DEST_PATH_IMAGE071
, before the iteration starts, the matrix A is specifically:
Figure 99856DEST_PATH_IMAGE092
(4)
Figure 99856DEST_PATH_IMAGE092
(4)
Figure 784916DEST_PATH_IMAGE093
(5)。
Figure 784916DEST_PATH_IMAGE093
(5).
5.根据权利要求3所述的求解方法,其特征在于,所述步骤S430中计算k次迭代是使用Gurobi优化器进行求解。5. The solution method according to claim 3, characterized in that, calculating k iterations in the step S430 uses a Gurobi optimizer to solve. 6.根据权利要求3所述的求解方法,其特征在于,所述步骤S5具体包含如下步骤:6. The solution method according to claim 3, wherein said step S5 specifically comprises the following steps: 步骤S510、初始可行解即由上述求解产生的m种切割模式组成矩阵A中的每一列,矩阵A中的每一列对应的决策变量,依据矩阵A建立CG算法的初始迭代基矩阵B;Step S510, the initial feasible solution is each column in the matrix A composed of the m cutting patterns generated by the above solution, and the decision variables corresponding to each column in the matrix A, and the initial iterative matrix B of the CG algorithm is established according to the matrix A; 步骤S520、提出新数学模型,并借助Gurobi优化器对其进行迭代训练,直至迭代的次数达到设定值,得到初始可行解,并由此构造初始迭代基矩阵B;Step S520, propose a new mathematical model, and iteratively train it with the help of Gurobi optimizer until the number of iterations reaches the set value, obtain an initial feasible solution, and construct an initial iterative base matrix B accordingly; 步骤S530、基于初始迭代基矩阵B,利用CG算法对其进行迭代训练,直至第二目标函数的值不再变小,获得最优松弛解;则将最优决策变量求和的值与步骤S4中决策变量求和的值进行比较,选择求和最小的一方所产生的决策变量作为最终的决策变量,其所对应的下料排样方案为最终的原材料下料排样方案,若最优松弛解不全为非负整数,则进入步骤S6。Step S530, based on the initial iterative basis matrix B, use the CG algorithm to iteratively train it until the value of the second objective function no longer becomes smaller, and obtain the optimal relaxation solution; The value of the sum of the decision variables in the middle is compared, and the decision variable generated by the side with the smallest sum is selected as the final decision variable, and the corresponding blanking and layout plan is the final raw material blanking and layout plan. If the optimal relaxation If the solutions are not all non-negative integers, go to step S6.
CN202211346050.6A 2022-10-31 2022-10-31 A Solution Method for Raw Material Blanking and Sampling Active CN115455341B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211346050.6A CN115455341B (en) 2022-10-31 2022-10-31 A Solution Method for Raw Material Blanking and Sampling

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211346050.6A CN115455341B (en) 2022-10-31 2022-10-31 A Solution Method for Raw Material Blanking and Sampling

Publications (2)

Publication Number Publication Date
CN115455341A CN115455341A (en) 2022-12-09
CN115455341B true CN115455341B (en) 2023-02-07

Family

ID=84310903

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211346050.6A Active CN115455341B (en) 2022-10-31 2022-10-31 A Solution Method for Raw Material Blanking and Sampling

Country Status (1)

Country Link
CN (1) CN115455341B (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN116307047B (en) * 2022-12-16 2023-10-17 中建八局第二建设有限公司 Multi-raw-material one-dimensional blanking optimization method based on tabu search and half tensor product

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115034670A (en) * 2022-06-30 2022-09-09 上海电力大学 Micro-grid capacity optimization configuration method based on fuzzy scene clustering

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7376472B2 (en) * 2002-09-11 2008-05-20 Fisher-Rosemount Systems, Inc. Integrated model predictive control and optimization within a process control system
US7856052B2 (en) * 2004-10-06 2010-12-21 Broadcom Corp. Method and system for low complexity conjugate gradient based equalization in a wireless system
EP3420466B1 (en) * 2016-02-23 2023-06-14 1QB Information Technologies Inc. Method and system for solving the lagrangian dual of a binary polynomially constrained polynomial programming problem using a binary optimizer
CN111008723B (en) * 2019-09-24 2023-12-22 华北电力大学 Optimization method for design of distributed energy PEV charging station
CN112719632A (en) * 2020-12-21 2021-04-30 北京航星机器制造有限公司 Positioning cutting method and device and cutting equipment
CN115018197B (en) * 2022-07-01 2023-04-07 广东工业大学 Secondary trepanning optimization method and system considering excess material utilization

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115034670A (en) * 2022-06-30 2022-09-09 上海电力大学 Micro-grid capacity optimization configuration method based on fuzzy scene clustering

Also Published As

Publication number Publication date
CN115455341A (en) 2022-12-09

Similar Documents

Publication Publication Date Title
CN106599519B (en) Co-design method and system for medium and heavy plate mother plate and slab for production order combination optimization
CN113159383B (en) Manufacturing resource reconstruction scheduling method and system for multi-machine cooperation processing workshop
Phien et al. Fast convergence of imaginary time evolution tensor network algorithms by recycling the environment
Wallenius et al. An approach to solving multiple criteria macroeconomic policy problems and an application
CN115455341B (en) A Solution Method for Raw Material Blanking and Sampling
CN115145235A (en) A multi-objective intelligent scheduling method for the whole casting process
CN114116778A (en) A database query optimization method
Lokman Optimizing a linear function over the nondominated set of multiobjective integer programs
Jiang et al. Future growth pattern projections under shared socioeconomic pathways: A municipal city bottom-up aggregated study based on a localised scenario and population projections for China
CN107491841A (en) Nonlinear optimization method and storage medium
Cockshott How feasible are Jack Ma's proposals for computerized planning?
Siriwardana The Causes of the Depression in Australia in the 1930′ s: A General Equilibrium Evaluation
Cattaneo et al. Binscatter regressions
Ma et al. Nonparametric approaches for analyzing carbon emission: from statistical and machine learning perspectives
Wang et al. Multi-sector environmental efficiency and productivity: A general Leontief optimization method
Roudabr et al. Overall Efficiency of Four‐Stage Structure with Undesirable Outputs: A New SBM Network DEA Model
CN106202667A (en) Constrained domain optimizes Latin hypercube method for designing
Shi Efficiency Bounds for Two‐Stage Production Systems
Grygorkiv et al. Analysis for the National Economies Based on Aggregated Input-Output Models
Li et al. A Partial Order OWA Operator for Solving the OWA Weighing Dilemma
Wang Application of CGE model-based digital media technology in virtual reality project design
Guo et al. Research on regulatory strategies of green finance and optimization of corporate green behavior under the framework of circular economy
Yao et al. Single-objective flexible job-shop scheduling problem based on improved dung beetle optimization
Sergienko et al. Models and information technologies for decision support during structural and technological changes
Fan et al. Cost-aware Portfolios in a Large Universe of Assets

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant