US20060197769A1 - Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models - Google Patents
Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models Download PDFInfo
- Publication number
- US20060197769A1 US20060197769A1 US11/068,861 US6886105A US2006197769A1 US 20060197769 A1 US20060197769 A1 US 20060197769A1 US 6886105 A US6886105 A US 6886105A US 2006197769 A1 US2006197769 A1 US 2006197769A1
- Authority
- US
- United States
- Prior art keywords
- variables
- data
- solution
- solutions
- patterns
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 96
- 230000000694 effects Effects 0.000 title claims abstract description 71
- 238000005457 optimization Methods 0.000 title description 10
- 230000009467 reduction Effects 0.000 claims abstract description 10
- 238000005520 cutting process Methods 0.000 claims description 35
- 239000000463 material Substances 0.000 claims description 21
- 238000004422 calculation algorithm Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 claims description 5
- 230000003190 augmentative effect Effects 0.000 claims description 4
- 230000006872 improvement Effects 0.000 claims description 4
- 238000012360 testing method Methods 0.000 claims description 4
- 238000000638 solvent extraction Methods 0.000 claims description 3
- 238000013459 approach Methods 0.000 description 14
- 238000009472 formulation Methods 0.000 description 11
- 239000000203 mixture Substances 0.000 description 11
- 230000008569 process Effects 0.000 description 9
- 230000008901 benefit Effects 0.000 description 7
- 238000007796 conventional method Methods 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 238000003860 storage Methods 0.000 description 5
- 239000013598 vector Substances 0.000 description 5
- 230000003416 augmentation Effects 0.000 description 4
- 239000000835 fiber Substances 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 238000011065 in-situ storage Methods 0.000 description 3
- 239000011159 matrix material Substances 0.000 description 3
- 239000000126 substance Substances 0.000 description 3
- 229910000831 Steel Inorganic materials 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012261 overproduction Methods 0.000 description 2
- 238000012805 post-processing Methods 0.000 description 2
- 239000010959 steel Substances 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 239000002023 wood Substances 0.000 description 2
- 230000002411 adverse Effects 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003247 decreasing effect Effects 0.000 description 1
- 230000002542 deteriorative effect Effects 0.000 description 1
- 230000009977 dual effect Effects 0.000 description 1
- 239000010408 film Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000001172 regenerating effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000010561 standard procedure Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
- -1 wire and cable Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/04—Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
Definitions
- the present invention generally relates to a method and apparatus for integer linear programming, and more particularly to a method and apparatus for generating a profile of solutions that trades off a number of activities utilized against an objective value for a bilinear integer optimization model.
- the bilinear integer optimization model seeks to determine the activities (encoded by integers) and the integer utilizations of these activities, so as to minimize the objective value.
- the exemplary method (and system) is developed and discussed in an exemplary case of a cutting stock problem. In this case, a profile of solutions is generated to trade off the number of patterns used to cut raw units of stock material while minimizing the amount of material wasted.
- the stock rolls may include any stock material that may be available in discrete units including, but not limited to, paper, chemical fiber, film, steel, wire and cable, wood, etc.
- the material in stock rolls has a width of W max .
- the user desires to cut up the stock rolls to satisfy the demand while minimizing the amount of trim loss created.
- W min is a lower bound on the allowed nominal trim loss per stock roll.
- the cutting machines used to cut the stock material have a limited number of knives, which limits the type of patterns that may be utilized.
- widths of material up to a threshold ⁇ are considered to be “narrow”, and there is a limit on the number (C nar ) of “narrows” permitted to be cut from a stock roll of material.
- the Gilmore and Gomory approach seeks a linear-programming solution at the master problem level.
- necessary information is communicated to the subproblem by prices (i.e., dual variables). Since the user desires an integer solution to the master problem, prices are not sufficient to describe the optimal coverage of demand based on known activities to the subproblem.
- Branch-and-Price method e.g., see Gleb Belov and Guntram Scheithauer, “The Number of Setups (Different Patterns) in One-Dimensional Stock Cutting”, 2003, Preprint, Dresden University, Institute for Numerical Mathematics.
- This method requires substantial computational resources as it emphasizes proving the optimality of a solution, as opposed to finding a good approximate solution.
- this method does not lend itself to efficiently providing a profile of solutions with the desired tradeoff.
- Branch-and-Price method tends to provide good solutions, but because of the substantial computational requirements, can be a very slow process.
- Gilmore and Gomory process is a fast process, but may not provide good overall solutions.
- an exemplary feature of the present invention is to provide a method and system in which a good compromise is achieved between the quality of the solution obtained and the speed with which the solution is generated.
- a method (and system) of generating at least one of a solution and a profile of solutions for a problem includes trading off a reduction of an objective of the problem against a number of distinct activities utilized in a solution.
- a method of generating at least one of a solution and a profile of solutions for a cutting stock problem includes trading off a reduction of an amount of wasted stock material against the number of distinct patterns utilized to satisfy demands.
- a computer system for generating at least one of a solution and a profile of solutions for a problem includes partitioning means for generating a model having a first set of variables and data and a second set of variables and data and augmenting means for repeatedly solving the model to generate the profile of solutions.
- a computer system for generating at least one of a solution and a profile of solutions for a problem includes an augmenting unit that repeatedly solves a model to generate a profile of solutions, wherein the profile trades off a reduction of an objective of the problem against the number of distinct activities utilized in a solution.
- a signal-bearing medium tangibly embodying a program of machine readable instructions executable by a digital processing apparatus to perform a method of generating at least one of a solution and a profile of solutions for a problem, includes trading off a reduction of an objective of the problem against a number of distinct activities utilized in a solution.
- a method of deploying computing infrastructure includes integrating computer-readable code into a computing system, wherein the computer readable code in combination with the computing system is capable of performing a method of generating at least one of a solution and a profile of solutions for a problem, where the method of generating at least one of a solution and a profile of solutions for a problem, includes trading off a reduction of an objective of the problem against a number of activities utilized in a solution.
- the present invention builds a model having two types of activities.
- the two types of activities include known activities and newly created activities.
- a working set of activities, or known activities are provided with associated variables, which determine the utilization of the known activities.
- the present invention solves a sequence of models of activities and transfers certain new activities into the set of known activities. This allows the set of known activities to be built to any desired number of activities. During the process, activities in the set of known activities may be removed if more desirable, new activities are generated.
- the present invention addresses certain bilinear integer optimization models.
- the models addressed have a general form of:
- the number of columns of Z should be no greater than n max .
- Each activity produces certain outputs and the entries in a column z indicate the outputs.
- z j gives the number of units of the j-th output type produced by the activity associated with z.
- the data of the model consists of the vectors c, g, d, f and b and the matrices A, G and H
- the vector d is a demand vector that we seek to cover.
- the matrix Z is a matrix of nonnegative integer variables.
- the columns z of Z represent activities that we will carry out.
- the vector of nonnegative integer variables x specifies the utilizations of the activities represented by the columns of Z.
- Constraints determining allowable columns z of Z are specified with the data A and b (i.e., Az ⁇ b, z ⁇ 0 integer).
- the cost vector c is associated with the activities represented by the columns of Z.
- the variables u are additional variables used to allow some modeling flexibility.
- the data g, f, G and H are used to build any constraints and linkages associated with these additional variables u.
- the method (and system) of the present invention also includes combinatorially-motivated constraints to tighten the formulation.
- the present method relies on the solution of a sequence of integer linear programs. Standard methods for solving such problems rely on solving further sequences of linear programming relaxations (where we ignore the integer restrictions). The efficiency of the entire process depends on how well the linear programming relaxation approximates the integer program (in terms of optimal objective value and nearness of the feasible region of the linear programming relaxation to the smallest convex set that contains the integer feasible points). Tightening the formulation refers to adjoining further linear inequalities that make the linear programming relaxation a sharper approximation of the integer program. Additional linear constraints are provided to eliminate symmetry between the new activities, and to preclude generating new activities that are already included in the set of known activities.
- the method (and system) of the present invention includes the facility to dynamically change the number of bits for representing utilizations of new activities. As new activities are generated, their optimal utilizations tend to decrease as we allow the total number of activities to increase. Moreover, as the number of activities increases, the difficult of the integer linear programs increase. Computational efficiencies can be realized be allowing the number of bits to vary (usually decrease) dynamically.
- the present invention addresses these and other shortcomings of the conventional methods by formulating a holistic model that simultaneously seeks a small number of new activities, their utilizations and the utilizations of the known set of activities. That is, the unified model of the present invention generates new patterns in situ.
- Another benefit of the present invention is that it solves a sequence of models in a local-search framework which is ideal for working with constraints that are not modeled effectively in an integer linear programming (ILP) setting, but are relatively simple (e.g., a limit on the number of activities utilized), and (2) is well suited to efficiently generating a profile of solutions trading off a secondary objective (e.g., the number of distinct activities utilized) versus a primary objective.
- ILP integer linear programming
- FIG. 1 illustrates a sample Pareto curve graph comparing the amount of trim loss to the number of distinct patterns utilized, for a profile of solutions satisfying given demands;
- FIG. 2 illustrates an exemplary flow chart of a method 200 of generating a profile of solutions trading off the number of activities utilized and the objective value for bilinear integer optimization of the present invention
- FIG. 3 illustrates an exemplary block diagram of a system 300 for generating a profile of solutions trading off the number of activities utilized and the objective value for bilinear integer optimization of the present invention
- FIGS. 4A-4F show exemplary sample results obtained using the present invention
- FIG. 5 is an exemplary graph showing sample results obtained by the present invention in comparison with results obtained from a conventional method
- FIG. 6 is an exemplary graph illustrating a feature of the present invention for limiting the number of bits used in a binary representation for the usage of particular activity
- FIG. 7 illustrates an exemplary hardware/information handling system 700 for incorporating the present invention therein.
- FIG. 8 illustrates a signal-bearing medium 800 (e.g., storage medium) for storing steps of a program of a method of the present invention.
- a signal-bearing medium 800 e.g., storage medium
- FIGS. 1-8 there are shown exemplary embodiments of the method and structures according to the present invention.
- the present invention will be described in the context of the exemplary cutting stock problem.
- the method (and system) of the present invention may be used for generating a profile of solutions for other discrete optimization problems (e.g., multicommodity flow and scheduling) by optimizing the utilization of any activity, and as would be evident to one of ordinary skill in the art taking the present application as a whole, is not limited to optimizing the use of cutting patterns for cutting stock material.
- the inventive method is an ILP-based local-search heuristic.
- the ILPs holistically integrate the master problem (e.g., constraints of the known patterns) and the subproblem (e.g., constraints of the potential new patterns) of the usual price-driven pattern-generation paradigm, resulting in a unified model that generates new patterns in situ.
- the present method is well suited to practical restrictions such as when a limited number of cutting patterns should be employed.
- the present method and the results of computational experiments obtained from use of the method are exemplarily described below in the context of a chemical fiber cutting stock problem.
- the exemplary cutting method of the present invention may also be applied to cutting stocks of paper, film, steel, wire, cable, wood, etc. Again, however, the invention is not limited to providing a solution only for the cutting stock problem.
- the classical (one-dimensional) cutting stock problem is to minimize the amount of trim loss created in covering the demands of client orders.
- the constant m represents the number of different widths demanded by the customers.
- Stock rolls of width W max are available for satisfying customer order demands d i for rolls of width w i ( ⁇ W max ), i ⁇ M.
- Many models for the cutting stock problem employ the idea of a cutting pattern.
- a pattern for cutting the stock material is defined by Z ⁇ Z + M satisfying W min ⁇ ⁇ i ⁇ M ⁇ w i ⁇ z i ⁇ W max , ( 1 ) where W min is a lower bound on the allowed nominal trim loss per stock roll (note that the total actual trim loss may be greater than the sum of the nominal trim losses, since in the method of the present invention, over-producing is permitted (i.e., that is, we are permitted to produce more than d i for rolls of width w i , for i ⁇ M)).
- the variable z i represents the number of rolls of width w i that are obtained from a single stock roll when the pattern z is employed. With this concept, most models seek to determine which cutting patterns to use and how many times to repeat each pattern.
- the cutting machines have a limited number (e.g., 10-20) of knives ⁇ .
- the following restriction is added to the model: ⁇ i ⁇ M ⁇ z i ⁇ ⁇ + ⁇ i ⁇ M ⁇ w i ⁇ z i W max , ( 2 ) or, equivalently, ⁇ i ⁇ M ⁇ ( W max - w i ) ⁇ z i ⁇ ⁇ ⁇ ⁇ W max , ( 3 ) because the present method allows for ⁇ +1 pieces to be cut when there is no nominal trim loss for a pattern.
- widths up to some threshold ⁇ are deemed to be narrow, and there is often a limit on the number C nar of narrows permitted to be cut from a stock roll (due to physical limitations of the cutting machines, it may not be possible to cut more narrow widths than some limit (e.g., 5)).
- some limit e.g., 5
- M nar : ⁇ i ⁇ M: w i ⁇ .
- the method of the present invention allows for the possibility of not requiring the customer order demands to be exactly satisfied. This is quite practical for real applications, for example in the paper industry, where customers are willing to accept some variation in the quantities delivered from those ordered, and permitting this can decrease the trim loss.
- the method assumes that for some small nonnegative integers q i and p i (e.g., q i and p i may be 5% of the demand d i ), the customer will accept delivery of between d i ⁇ q i and d i +p i rolls of width w i , for i ⁇ M.
- the present method allows for over-production, beyond d i +p i rolls of width w i , but the over-production is treated as trim loss.
- the number of patterns allowed is limited to some number n max .
- This type of limitation is practical for actual applications, but it is difficult to handle computationally.
- Heuristic approaches to this type of limitation include variations on the Gilmore and Gomory approach discussed above, incremental heuristics for generating patterns, local-search methods for reducing the number of patterns as a post-processing stage, a linear-programming-based local search, and a heuristically-based local search.
- computationally intensive methods such as the Branch and Price method discussed above have also been applied.
- the present invention provides a hybrid method that is more powerful than existing heuristics (e.g., the Gilmore and Gomory method), but with less effort than exact ILP approaches (e.g., the Branch and Price method).
- FIG. 1 illustrates a sample Pareto curve graph comparing the amount of trim loss (e.g., scrap material) from a solution and the number of patterns used in the solution.
- trim loss e.g., scrap material
- FIG. 1 illustrates a sample Pareto curve graph comparing the amount of trim loss (e.g., scrap material) from a solution and the number of patterns used in the solution.
- FIG. 2 illustrates an exemplary flow chart of a method 200 of generating a profile of solutions trading off the number of activities utilized and the objective value for bilinear optimization according to the present invention.
- a bilinear model is generated having two sets of activities (step 202 ).
- the bilinear ILP model is based on a current set of activities ⁇ overscore (N) ⁇ and a number of potential new activities ⁇ circumflex over (N) ⁇ .
- ⁇ overscore (N) ⁇ represents a set of known patterns
- ⁇ circumflex over (N) ⁇ represents a set of potential new patterns.
- the set of known patterns ⁇ overscore (N) ⁇ is initially empty, and set of potential new patterns ⁇ circumflex over (N) ⁇ is of a very limited size (e.g., no more than 3 elements).
- ⁇ overscore (N) ⁇ may include a relatively small number (e.g., between 5 and 10) of known patterns, as may be desired by the user.
- the bilinear model of the present invention, is generated having several limitations, as follows.
- a set of n patterns is defined by the columns of an m ⁇ n matrix Z.
- z ij represents the number of rolls of width w i that is cut from a stock roll when a pattern j is employed.
- the variable x j is a nonnegative integer variable that represents the number of times the pattern j is employed (the utilization of the pattern j) toward satisfying the client order demands.
- the variable s i represents the part of the deviation (from demand d i ) of the production of width w i that is within the allowed tolerance.
- the variable t i represents a part of the deviation that exceeds the tolerance and is treated as trim loss.
- the bilinear model includes the following integer bilinear programming formulation which seeks to minimize trim loss: min ⁇ ⁇ W max ⁇ ⁇ j ⁇ N ⁇ x j - ⁇ i ⁇ M ⁇ w i ⁇ ( d i + s i ) ⁇ ⁇ subject ⁇ ⁇ to ( 5 ) W min ⁇ ⁇ i ⁇ M ⁇ w i ⁇ z ij ⁇ W Max , ⁇ ⁇ j ⁇ N ; ( 6 ) ⁇ i ⁇ M ⁇ ( W max - w i ) ⁇ ⁇ z ij ⁇ ⁇ ⁇ ⁇ W max , ⁇ ⁇ j ⁇ N ; ( 7 ) ⁇ i ⁇ M nar ⁇ z ij ⁇ C nar , ⁇ ⁇ j ⁇ N ; ( 8 ) z ij ⁇ 0 ⁇ ⁇ integer , ⁇ ⁇ i ⁇ M
- constraints (5)-(13) include linear expressions (i.e., the sum of terms, each of which is the product of data and a variable). For example, constraint (6) multiplies the width of the stock roll w i (fixed data) times the number of rolls z ij (variable). Only constraint (10) includes a bilinear (variable times variable) term, z ij x j . Constraints containing bilinear terms are extremely difficult and time consuming to work with in an optimization formulation, in comparison to linear terms, because in the bilinear case, the feasible region of the relaxation (where we ignore integer restrictions) is not generally a convex set.
- the present invention uses an alternative approach, which does not rely on decomposition, and thus does not involve an enormous number of variables.
- the method of the present invention provides a heuristic solution by partitioning N into two sets of patterns, ⁇ overscore (N) ⁇ (known patterns) and ⁇ circumflex over (N) ⁇ (potential new patterns).
- the ILP model is solved and new activities are determined which are moved from ⁇ circumflex over (N) ⁇ to ⁇ overscore (N) ⁇ (step 203 ).
- a local search is conducted (step 204 ) of the potential new patterns and known patterns, testing whether dropping a few patterns and re-generating patterns offers an improvement (i.e., decrease in the amount of trim loss) to the solution. This is accomplished by solving further ILP models of the form (17)-(30).
- step 205 we temporarily make ⁇ circumflex over (N) ⁇ empty and resolve the ILP model (step 205 ) to determine optimal usages of all known activities. This may result in an improved solution if we had restricted the number of bits in the binary expansion of the utilizations x j in the ILP models employed in steps 202 and 204 .
- the process determines if the maximum number of activities n max has been reached (step 206 ).
- the process 200 is stopped when n max patterns is reached (stop 207 ). If the maximum number of patterns has not been reached then the process is repeated (from step 202 ).
- the linearization of the binary products which occurs whenever ILP models of the form (17)-(30) with nonempty ⁇ circumflex over (N) ⁇ are instantiated (steps 202 and 204 ) is described in detail below.
- the parameter ⁇ i represents an upper bound on the greatest number of bits (the number of times a particular pattern is used) used for representing z ij in any solution to equations (6-9).
- ⁇ i ⁇ log 2 (1+min ⁇ W max /w i ⁇ , ⁇ /(1 ⁇ w i /W max ) ⁇ ) ⁇ , ⁇ i ⁇ M, M nar
- ⁇ i ⁇ log 2 (1+min ⁇ W max /w i ⁇ , ⁇ /(1 ⁇ w i /W max ) ⁇ , C nar C nar ⁇ ) ⁇ , ⁇ i ⁇ M nar
- the parameter ⁇ represents an upper bound on the greatest number of bits used for representing x j in an optimal solution to the bilinear programming formulation (5-13).
- ⁇ ⁇ log 2 (1+ ⁇ j ⁇ N x j ) ⁇ , where (x, z, s, t) is any feasible solution to (5-13). It is desirable to have the ⁇ i and ⁇ small, since smaller values for these parameters generally lead to a decrease in computational effort. If the parameters are chosen too small, however, then the quality of the solution will be adversely affected (i.e., solutions with increased trim loss). The formulae given for ⁇ i and ⁇ give the maximum values needed. Smaller values (potentially as small as 1) can be experimentally determined, to produce reasonable run times without the quality of the solutions significantly deteriorating.
- the binary variables z l ij are defined, for all i ⁇ M, j ⁇ N, l ⁇ L i
- the binary variables x k j are defined, for all j ⁇ N, k ⁇ K.
- Equations (14-16) are linearizations for modifying the bilinear model for making the transformation from the bilinear programming formulation (5-13) to the integer linear programming formulations (that we instantiate in steps 202 and 204 ).
- the linearizations transform the bilinear terms into linear terms, at the expense of increasing the number of variables and introducing the inequalities (23).
- the linearizations are only used in the ⁇ circumflex over (N) ⁇ set of patterns (the terms involving patterns in ⁇ overscore (N) ⁇ are linear since we consider the associated patterns to be fixed).
- the linearizations are substitutions for removing the products z l ij , thereby to simplify the computation.
- the linear model (17)-(26) is instantiated and solved by the following computational methodology of the present invention, which generates and solves a sequence of instantiations that produce a profile of solutions to the cutting stock problem (steps 202 - 207 ).
- the variables and equations of (15) describe a Boolean quadric prototype.
- the ILP formulation (linear model) is strengthened (i.e., the feasible region of the linear programming relaxation is made smaller) using known valid inequalities.
- Boolean quadric polytope some facets are utilized as follows: x k j +z l ij +y k′l′ ij ⁇ 1 +y kl ij +y kl′ ij +y k′l ij , (27) y k′l ij +y kl′ ij +y kl ij ⁇ x k j +z l ij +y k′l′ ij , (28)
- Pattern-exclusion constraints ⁇ i ⁇ M , l ⁇ L i : z l i ⁇ ⁇ _ ⁇ z l ij + ⁇ i ⁇ M , l ⁇ L i : z l i ⁇ ⁇ _ 1 ⁇ ( 1 - z l ij ) ⁇ 1 , ⁇ ⁇ j ⁇ N ⁇ , ⁇ _ ⁇ N _ ( 29 ) are used in the model to insure that a binary-encoded pattern that is already indexed in ⁇ overscore (N) ⁇ is not re-generated as an integer-encoded pattern.
- the re-generation causes possible permutation symmetry that is devastating to a branching procedure.
- the primary reason for encoding patterns in binary is to accurately model multiplication. However, an additional benefit is that patterns may be easily excluded from being re-generated.
- implied integer-encoded patterns are ordered lexically, by imposing the following
- a sequence of models of the form (17-30) is solved using the algorithm described in FIG. 2 .
- the set of patterns N is partitioned into the set of known patterns ⁇ overscore (N) ⁇ and the set of potential new patterns ⁇ circumflex over (N) ⁇ (step 201 ).
- ⁇ overscore (N) ⁇ initially starts empty, or may include a small number of patterns as desired by the user and ⁇ circumflex over (N) ⁇ allows for a small number v a of potential patterns (e.g., ⁇ 3).
- a model of the form (17)-(30) is instantiated (step 202 ). That is, variables are defined for the known patterns (indexed by ⁇ overscore (N) ⁇ ) and to generate new patterns (indexed by ⁇ circumflex over (N) ⁇ ). For j ⁇ overscore (N) ⁇ , the z ij are treated as data, and the x j are treated as true variables. For j ⁇ circumflex over (N) ⁇ , the variables x j and z ij are written in binary expansion and then linearized.
- the system solves the model (17)-(30), and new patterns from the optimal solution are transferred from ⁇ circumflex over (N) ⁇ to ⁇ overscore (N) ⁇ .
- a local search is conducted to repeatedly test whether removing v s (e.g., ⁇ 3) patterns from ⁇ overscore (N) ⁇ and adding v s new patterns to ⁇ overscore (N) ⁇ from ⁇ circumflex over (N) ⁇ through a new instantiation of the linear model provides an improvement in the solution (step 204 ).
- v s e.g., ⁇ 3 patterns from ⁇ overscore (N) ⁇
- adding v s new patterns to ⁇ overscore (N) ⁇ from ⁇ circumflex over (N) ⁇ through a new instantiation of the linear model provides an improvement in the solution (step 204 ).
- an additional solve of the linear model is made to determine the true optimal utilizations of all patterns in ⁇ overscore (N) ⁇ (step 205 ). This may result in a further decrease in the trim loss, since we may have artificially restricted the number of bits used to represent the utilizations of the patterns that were just generated (in ⁇ circumflex over (N) ⁇ ).
- step 206 the system tests whether the current number of patterns in ⁇ overscore (N) ⁇ has increased to n max (step 206 ). If it is, then algorithm 200 stops. If not, then the algorithm continues from step 202 .
- FIG. 3 depicts an exemplary block diagram of a computer system 300 for generating a profile of solutions for a problem according to the present invention.
- the computer system 300 includes at least an initializing unit 301 that reads the data and sets the size of ⁇ overscore (N) ⁇ and ⁇ circumflex over (N) ⁇ , an instantiation unit 302 that instantiates linear models of the form (17)-(30), an augmenting unit 303 that solves instances of the linear model to determine new patterns and transfers them from ⁇ overscore (N) ⁇ to ⁇ circumflex over (N) ⁇ , a local search unit 304 that solves a sequence of instances of the linear model, successively determining whether dropping a pattern from ⁇ overscore (N) ⁇ and regenerating patterns through ⁇ circumflex over (N) ⁇ would offer an improvement to the current solution, and an optimal utilization unit 305 that solves an instance of the linear model directed at determining the optimal utilizations of all patterns currently in ⁇ overscore (N) ⁇ .
- an initializing unit 301 that reads the data and sets the size of ⁇ overscore (N) ⁇ and ⁇ circumflex over (N) ⁇
- the method and system of the present invention are developed using the optimization modeling/scripting software AMPL, and the following exemplary results were obtained by conducting experiments on the method and system of the present invention using the exemplary ILP solvers CPLEX 9.0, Xpress-MP 14.27, and the open-source solver CBC (available from www.coin-or.org).
- the method can also utilize C, C++, Java, etc.
- Each lower (resp., upper) demand tolerance q i (resp., p i ) was set at five percent of demand, rounded down.
- the formulation was strengthened by using linear inequalities for each of the binary constraints (18-20) (e.g., minimal cover inequalities). Also, the pattern-exclusion constraints (29) may be aggregated and strengthened to improve the computational efficiency.
- the method did not explicitly include all of the Boolean quadratic inequalities (28). Rather, the method solved the LP at the root node using all of the inequalities (28). Then, the system maintained a few hundred of these that had the least slack at the LP optimum and proceeded to solve the resulting ILP.
- the amount of trim loss is minimized when 11 patterns are used to cut the stock material.
- the curve there is not a significant difference between the amount of trim loss when six patterns are used and when up to 11 patterns are used. Therefore, an optimal situation in this example would be to trade off the small amount of trim loss and use 6 patterns to reduce the total changeover cost.
- the amount of trim loss is minimized when 12 patterns are used to cut the stock material.
- the curve there is not a significant difference between the amount of trim loss when 6 patterns are used and when up to 11 patterns are used. Therefore, an optimal solution in this example would be to trade off the small amount of trim loss and use 6 patterns to reduce the total changeover cost.
- the amount of trim loss is minimized when 12 patterns are used to cut the stock material.
- the curve there is not a significant difference between the amount of trim loss when 6 patterns are used and when up to 10 patterns are used. Therefore, an optimal situation in this example would be to trade off the small amount of trim loss and use 6 patterns to reduce the total changeover cost.
- 8 or 9 patterns are used there is only 5% trim loss. The user may consider this an acceptable amount of trim loss, and therefore, use only 8 or 9 patterns to further reduce the changeover costs.
- the amount of trim loss is minimized when 10 patterns are used to cut the stock material.
- the curve there is not a significant difference between the amount of trim loss when 7 patterns are used and when up to 10 patterns are used. Therefore, an optimal situation in this example would be to trade off the small amount of trim loss and use 7 patterns to reduce the total changeover cost.
- 5 or 6 patterns are used there is less than 5% trim loss. The user may consider this an acceptable amount of trim loss, and therefore, use only 5 or 6 patterns to further reduce the changeover costs.
- the amount of trim loss is minimized when 10 patterns are used to cut the stock material.
- the curve there is not a significant difference between the amount of trim loss when 7 patterns are used and when up to 10 patterns are used. Therefore, an optimal situation in this example would be to trade off the small amount of trim loss and use 7 patterns to reduce the total changeover cost.
- 4-6 patterns are used there is less than 5% trim loss. The user may consider this an acceptable amount of trim loss, and therefore, use only 4-6 patterns to further reduce the changeover costs.
- the amount of trim loss is minimized when 9 patterns are used to cut the stock material.
- the curve there is not a significant difference between the amount of trim loss when 6 patterns are used and when up to 9 patterns are used. Therefore, an optimal solution in this example would be to trade off the small amount of trim loss and use 6 patterns to reduce the total changeover cost.
- results of the present invention as depicted in FIGS. 4A-4F provide a user with a profile of solutions so that the user may determine the number of patterns to use by trading off the cost of using an additional pattern against the amount of trim loss saved from using the additional pattern.
- FIG. 5 is an exemplary graph showing sample results 501 obtained by the method of present invention in comparison with results 502 obtained from a conventional method.
- the result curve 501 of the present invention provides a profile of solutions, similar to those depicted in FIGS. 4A-4F .
- the result curve 501 provides a user with an optimal solution for the number of patterns to use, as well as allows the user to weigh the costs and advantages of using additional patterns.
- the results 502 obtained from using the conventional approaches do not provide a profile of solutions.
- the conventional approaches provide the user with a single solution, in this case 20 patterns, which does not allow the user to tradeoff the costs and advantages of using additional patterns.
- the conventional methods would have informed the user that using 20 patterns would optimally minimize the amount of trim loss, but as can be seen from the results 501 of the present invention using anywhere from 7-9 cutting patterns would not result in a significant amount of trim loss, but would significantly reduce the changeover cost associated with using 20 cutting patterns.
- the method and system of the present invention can obtain solutions with very little trim loss, using many fewer patterns than would be obtained using the conventional methods. Furthermore, the augmentation approach of the invention is especially well suited for delivering a profile of solutions trading off the number of patterns used against trim loss.
- the number of binary bit variables for these usages is ⁇
- the binary bit variables represent the number of times an activity is used. For example, if a bit variable x k j is set equal to 1, that corresponds to the particular activity, or pattern, being used 2 k times.
- the method of the present invention allows the user to artificially limit the number of binary bit variables. This is desirable for several reasons. For example, the model can take larger values for
- if it takes ⁇ to be smaller than that required by the maximum possible usage of a single pattern (in the computational experiments, ⁇ : 5). If a good pattern is found in this manner, then once it is transferred to ⁇ overscore (N) ⁇ , it will enjoy unrestricted usage.
- a user should start out by emulating curve 8 until 31 patterns are used. At this point, the user can switch to having 4 bits, because as can be seen from FIG. 6 , the amount of trim loss is the same, once 31 patterns or more are used, for 4 bits-8 bits. Then, once 36 patterns are used, the user could shift to having 2 bits.
- the user By providing the user with the plurality of solution profiles as depicted in FIG. 6 , it allows the user to dynamically change the number of bits being used to minimize the computation time associated with generating a good profile of solutions.
- FIG. 7 shows a typical hardware configuration of an information handling/computer system in accordance with the invention that preferably has at least one processor or central processing unit (CPU) 711 .
- the CPUs 711 are interconnected via a system bus 712 to a random access memory (RAM) 714 , read-only memory (ROM) 716 , input/output adapter (I/O) 718 (for connecting peripheral devices such as disk units 721 and tape drives 740 to the bus 712 ), user interface adapter 722 (for connecting a keyboard 724 , mouse- 726 , speaker 728 , microphone 732 , and/or other user interface devices to the bus 712 ), communication adapter 734 (for connecting an information handling system to a data processing network, the Internet, an Intranet, a personal area network (PAN), etc.), and a display adapter 736 for connecting the bus 712 to a display device 738 and/or printer 739 (e.g., a digital printer or the like).
- RAM random access memory
- a different aspect of the invention includes a computer-implemented method of performing the inventive method. As an example, this method may be implemented in the particular hardware environment discussed above.
- Such a method may be implemented, for example, by operating a computer, as embodied by a digital data processing apparatus to execute a sequence of machine-readable instructions. These instructions may reside in various types of signal-bearing media.
- this aspect of the present invention is directed to a programmed product, comprising signal-bearing media tangibly embodying a program of machine-readable instructions executable by a digital data processor incorporating the CPU 711 and hardware above, to perform the method of the present invention.
- This signal-bearing media may include, for example, a RAM (not shown) contained with the CPU 711 , as represented by the fast-access storage, for example.
- the instructions may be contained in another signal-bearing media, such as a magnetic data storage diskette or CD disk 800 ( FIG. 8 ), directly or indirectly accessible by the CPU 711 .
- the instructions may be stored on a variety of machine-readable data storage media, such as DASD storage (e.g., a conventional “hard drive” or a RAID array), magnetic tape, electronic read-only memory (e.g., ROM, EPROM, or EEPROM), an optical storage device (e.g., CD-ROM, WORM, DVD, digital optical tape, etc,), or other suitable signal-bearing media including transmission media such as digital and analog and communication links and wireless.
- DASD storage e.g., a conventional “hard drive” or a RAID array
- magnetic tape e.g., magnetic tape, electronic read-only memory (e.g., ROM, EPROM, or EEPROM), an optical storage device (e.g., CD-ROM, WORM, DVD, digital optical tape, etc,), or other suitable signal-bearing media including transmission media such as digital and analog and communication links and wireless.
- ROM read-only memory
- EPROM erasable programmable read-only memory
- the present method addresses the shortcomings of the conventional pattern-generation approach by formulating a holistic model that simultaneously seeks a small number of new patterns, their usages, and the usages of the current set of patterns. That is, the unified model of the present invention generates new patterns in situ. Another benefit of the unified model of the present invention is that it is easily embedded in a local-search framework which is ideal for working with constraints that are not modeled effectively in an ILP setting.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Strategic Management (AREA)
- Marketing (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Development Economics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- 1. Field of the Invention
- The present invention generally relates to a method and apparatus for integer linear programming, and more particularly to a method and apparatus for generating a profile of solutions that trades off a number of activities utilized against an objective value for a bilinear integer optimization model. The bilinear integer optimization model seeks to determine the activities (encoded by integers) and the integer utilizations of these activities, so as to minimize the objective value. For clarity, the exemplary method (and system) is developed and discussed in an exemplary case of a cutting stock problem. In this case, a profile of solutions is generated to trade off the number of patterns used to cut raw units of stock material while minimizing the amount of material wasted.
- 2. Description of the Related Art
- When attempting to solve a specific problem, it is desirable to provide a profile of possible solutions as opposed to generating a single possible solution for the problem. This idea will be illustrated in the present application using the exemplary “cutting stock problem”. In the cutting stock problem, a user has a supply of stock rolls. The stock rolls may include any stock material that may be available in discrete units including, but not limited to, paper, chemical fiber, film, steel, wire and cable, wood, etc. The material in stock rolls has a width of Wmax. A certain number, di of stock rolls are demanded of material with width wi (where i=1, 2 . . . , m; and wi<Wmax). The user desires to cut up the stock rolls to satisfy the demand while minimizing the amount of trim loss created.
- There are several additional restrictions, which must be considered when handling the cutting stock problem. For instance, Wmin is a lower bound on the allowed nominal trim loss per stock roll. Additionally, the cutting machines used to cut the stock material have a limited number of knives, which limits the type of patterns that may be utilized. Furthermore, widths of material up to a threshold ω are considered to be “narrow”, and there is a limit on the number (Cnar) of “narrows” permitted to be cut from a stock roll of material.
- It is disadvantageous to provide the user with a single solution to the cutting stock problem, or any other problem. It is desirable to provide a profile of solutions that trades off a minimization of an objective of the problem against a number of activities utilized in the solution. In the case of the cutting stock problem, it is desirable to provide a profile of solutions that trades off the amount of trim loss created against the number of distinct cutting patterns used. In the cutting stock problem, it is important to limit the number of distinct cutting patterns, because there is a changeover cost associated with setting up the stock cutting machine to cut a different pattern.
- Several column generation approaches are conventionally used for generating solutions to a proposed problem. One such approach is the Gilmore and Gomory method (e.g., see Paul C Gilmore and Ralph E. Gomory, “A Linear Programming Approach to the Cutting-Stock Problem”, Operations Research, 9:849-859, 1961). In the Gilmore and Gomory method constraints involving coverage of given demand using a known set of activities are treated in a master problem. Constraints describing feasible activities are treated in a subproblem.
- The Gilmore and Gomory approach seeks a linear-programming solution at the master problem level. Thus, necessary information is communicated to the subproblem by prices (i.e., dual variables). Since the user desires an integer solution to the master problem, prices are not sufficient to describe the optimal coverage of demand based on known activities to the subproblem.
- The above shortcoming of the conventional column-generating methods is overcome by “branching”. A common branching method is the Branch-and-Price method (e.g., see Gleb Belov and Guntram Scheithauer, “The Number of Setups (Different Patterns) in One-Dimensional Stock Cutting”, 2003, Preprint, Dresden University, Institute for Numerical Mathematics). This method requires substantial computational resources as it emphasizes proving the optimality of a solution, as opposed to finding a good approximate solution. Moreover, this method does not lend itself to efficiently providing a profile of solutions with the desired tradeoff.
- The Branch-and-Price method tends to provide good solutions, but because of the substantial computational requirements, can be a very slow process. On the other hand, the Gilmore and Gomory process is a fast process, but may not provide good overall solutions.
- In view of the foregoing and other exemplary problems, drawbacks, and disadvantages of the conventional methods and structures, an exemplary feature of the present invention is to provide a method and system in which a good compromise is achieved between the quality of the solution obtained and the speed with which the solution is generated.
- It is another exemplary feature to provide a method and system that limits the number of distinct activities utilized in the solution, which will reduce the overall cost of the solution.
- It is another exemplary feature to provide a method and system wherein it is possible to generate new activities while the profile of the solution is being generated.
- To achieve the above and other features, in a first aspect of the present invention, a method (and system) of generating at least one of a solution and a profile of solutions for a problem, includes trading off a reduction of an objective of the problem against a number of distinct activities utilized in a solution.
- In a second aspect of the present invention, a method of generating at least one of a solution and a profile of solutions for a cutting stock problem, includes trading off a reduction of an amount of wasted stock material against the number of distinct patterns utilized to satisfy demands.
- In a third aspect of the present invention, a computer system for generating at least one of a solution and a profile of solutions for a problem, includes partitioning means for generating a model having a first set of variables and data and a second set of variables and data and augmenting means for repeatedly solving the model to generate the profile of solutions.
- In a fourth aspect of the present invention, a computer system for generating at least one of a solution and a profile of solutions for a problem, includes an augmenting unit that repeatedly solves a model to generate a profile of solutions, wherein the profile trades off a reduction of an objective of the problem against the number of distinct activities utilized in a solution.
- In a fifth aspect of the present invention, a signal-bearing medium tangibly embodying a program of machine readable instructions executable by a digital processing apparatus to perform a method of generating at least one of a solution and a profile of solutions for a problem, includes trading off a reduction of an objective of the problem against a number of distinct activities utilized in a solution.
- In a sixth aspect of the present invention, a method of deploying computing infrastructure, includes integrating computer-readable code into a computing system, wherein the computer readable code in combination with the computing system is capable of performing a method of generating at least one of a solution and a profile of solutions for a problem, where the method of generating at least one of a solution and a profile of solutions for a problem, includes trading off a reduction of an objective of the problem against a number of activities utilized in a solution.
- The present invention builds a model having two types of activities. The two types of activities include known activities and newly created activities. A working set of activities, or known activities, are provided with associated variables, which determine the utilization of the known activities. There are further variables representing the potentially new activities, and associated variables that determine the utilization of the potential new activities.
- The present invention solves a sequence of models of activities and transfers certain new activities into the set of known activities. This allows the set of known activities to be built to any desired number of activities. During the process, activities in the set of known activities may be removed if more desirable, new activities are generated.
- Using binary expansion, linear expressions in binary (“0”/“1”) variables are substituted for each of the variables (e.g., activity variables and associated utilization variables) associated with the new activities. A standard linearizaton is used to model the binary products through linear inequalities.
- The present invention addresses certain bilinear integer optimization models. The models addressed have a general form of:
- Min ctx, +gtu subject to
- Zx+Gu=d,
- Hu≦f,
- x,u≧0 and integer,
- Z satisfying:
-
- Az≦b, for all columns z of Z,
- z≧0 integer, for all columns z of Z,
- The number of columns of Z should be no greater than nmax. Each activity produces certain outputs and the entries in a column z indicate the outputs. For example zj gives the number of units of the j-th output type produced by the activity associated with z.
- The data of the model consists of the vectors c, g, d, f and b and the matrices A, G and H The vector d is a demand vector that we seek to cover. The matrix Z is a matrix of nonnegative integer variables. The columns z of Z represent activities that we will carry out. The vector of nonnegative integer variables x specifies the utilizations of the activities represented by the columns of Z. Constraints determining allowable columns z of Z are specified with the data A and b (i.e., Az≦b, z≧0 integer). The cost vector c is associated with the activities represented by the columns of Z. The variables u are additional variables used to allow some modeling flexibility. The data g, f, G and H are used to build any constraints and linkages associated with these additional variables u.
- The method (and system) of the present invention also includes combinatorially-motivated constraints to tighten the formulation. The present method relies on the solution of a sequence of integer linear programs. Standard methods for solving such problems rely on solving further sequences of linear programming relaxations (where we ignore the integer restrictions). The efficiency of the entire process depends on how well the linear programming relaxation approximates the integer program (in terms of optimal objective value and nearness of the feasible region of the linear programming relaxation to the smallest convex set that contains the integer feasible points). Tightening the formulation refers to adjoining further linear inequalities that make the linear programming relaxation a sharper approximation of the integer program. Additional linear constraints are provided to eliminate symmetry between the new activities, and to preclude generating new activities that are already included in the set of known activities.
- Additionally, the method (and system) of the present invention includes the facility to dynamically change the number of bits for representing utilizations of new activities. As new activities are generated, their optimal utilizations tend to decrease as we allow the total number of activities to increase. Moreover, as the number of activities increases, the difficult of the integer linear programs increase. Computational efficiencies can be realized be allowing the number of bits to vary (usually decrease) dynamically.
- The present invention addresses these and other shortcomings of the conventional methods by formulating a holistic model that simultaneously seeks a small number of new activities, their utilizations and the utilizations of the known set of activities. That is, the unified model of the present invention generates new patterns in situ. Another benefit of the present invention is that it solves a sequence of models in a local-search framework which is ideal for working with constraints that are not modeled effectively in an integer linear programming (ILP) setting, but are relatively simple (e.g., a limit on the number of activities utilized), and (2) is well suited to efficiently generating a profile of solutions trading off a secondary objective (e.g., the number of distinct activities utilized) versus a primary objective.
- With the above and other unique and unobvious exemplary aspects of the present invention, it is possible to balance the quality of a solution and the speed in which the solution is generated.
- The foregoing and other exemplary purposes, aspects and advantages will be better understood from the following detailed description of an exemplary embodiment of the invention with reference to the drawings, in which:
-
FIG. 1 illustrates a sample Pareto curve graph comparing the amount of trim loss to the number of distinct patterns utilized, for a profile of solutions satisfying given demands; -
FIG. 2 illustrates an exemplary flow chart of amethod 200 of generating a profile of solutions trading off the number of activities utilized and the objective value for bilinear integer optimization of the present invention; -
FIG. 3 illustrates an exemplary block diagram of asystem 300 for generating a profile of solutions trading off the number of activities utilized and the objective value for bilinear integer optimization of the present invention; -
FIGS. 4A-4F show exemplary sample results obtained using the present invention; -
FIG. 5 is an exemplary graph showing sample results obtained by the present invention in comparison with results obtained from a conventional method; -
FIG. 6 is an exemplary graph illustrating a feature of the present invention for limiting the number of bits used in a binary representation for the usage of particular activity; -
FIG. 7 illustrates an exemplary hardware/information handling system 700 for incorporating the present invention therein; and -
FIG. 8 illustrates a signal-bearing medium 800 (e.g., storage medium) for storing steps of a program of a method of the present invention. - Referring now to the drawings, and more particularly to
FIGS. 1-8 , there are shown exemplary embodiments of the method and structures according to the present invention. - To more clearly explain the method and structures for generating a profile of solutions for a problem according to the present invention, the present invention will be described in the context of the exemplary cutting stock problem. The method (and system) of the present invention, however, may be used for generating a profile of solutions for other discrete optimization problems (e.g., multicommodity flow and scheduling) by optimizing the utilization of any activity, and as would be evident to one of ordinary skill in the art taking the present application as a whole, is not limited to optimizing the use of cutting patterns for cutting stock material.
- Working with an integer bilinear programming formulation of a one-dimensional cutting-stock problem, the inventive method (and system) is an ILP-based local-search heuristic. The ILPs holistically integrate the master problem (e.g., constraints of the known patterns) and the subproblem (e.g., constraints of the potential new patterns) of the usual price-driven pattern-generation paradigm, resulting in a unified model that generates new patterns in situ. The present method is well suited to practical restrictions such as when a limited number of cutting patterns should be employed. In particular, the present method and the results of computational experiments obtained from use of the method are exemplarily described below in the context of a chemical fiber cutting stock problem. The exemplary cutting method of the present invention may also be applied to cutting stocks of paper, film, steel, wire, cable, wood, etc. Again, however, the invention is not limited to providing a solution only for the cutting stock problem.
- The classical (one-dimensional) cutting stock problem (CSP) is to minimize the amount of trim loss created in covering the demands of client orders. The constant m represents the number of different widths demanded by the customers. The set M, which is used to index the different widths demanded by the customers, is defined as M:={1, 2, . . . , m}. Stock rolls of width Wmax are available for satisfying customer order demands di for rolls of width wi(<Wmax), iεM. Many models for the cutting stock problem employ the idea of a cutting pattern. A pattern for cutting the stock material is defined by ZεZ+ M satisfying
where Wmin is a lower bound on the allowed nominal trim loss per stock roll (note that the total actual trim loss may be greater than the sum of the nominal trim losses, since in the method of the present invention, over-producing is permitted (i.e., that is, we are permitted to produce more than di for rolls of width wi, for iεM)). The variable zi represents the number of rolls of width wi that are obtained from a single stock roll when the pattern z is employed. With this concept, most models seek to determine which cutting patterns to use and how many times to repeat each pattern. - This is the framework of the conventional Gilmore and Gomory method discussed above, which applied a simplex-method based column-generation scheme to solve the linear programming (LP) relaxation, followed by rounding (i.e., increasing any fractional pattern utilizations up to the next integer). The present method allows for some variations of the conventional model to accommodate practical application.
- In actual instances of the CSP, the cutting machines have a limited number (e.g., 10-20) of knives †. To account for this limitation, the following restriction is added to the model:
or, equivalently,
because the present method allows for †+1 pieces to be cut when there is no nominal trim loss for a pattern. - Also, widths up to some threshold ω are deemed to be narrow, and there is often a limit on the number Cnar of narrows permitted to be cut from a stock roll (due to physical limitations of the cutting machines, it may not be possible to cut more narrow widths than some limit (e.g., 5)). To account for these limitations, the following restriction is added to the model:
where Mnar:={iεM: wi≦ω}. - Additionally, the method of the present invention allows for the possibility of not requiring the customer order demands to be exactly satisfied. This is quite practical for real applications, for example in the paper industry, where customers are willing to accept some variation in the quantities delivered from those ordered, and permitting this can decrease the trim loss. The method assumes that for some small nonnegative integers qi and pi (e.g., qi and pi may be 5% of the demand di), the customer will accept delivery of between di−qi and di+pi rolls of width wi, for iεM. The present method allows for over-production, beyond di+pi rolls of width wi, but the over-production is treated as trim loss.
- Finally, in the present invention, the number of patterns allowed is limited to some number nmax. This type of limitation is practical for actual applications, but it is difficult to handle computationally. Heuristic approaches to this type of limitation include variations on the Gilmore and Gomory approach discussed above, incremental heuristics for generating patterns, local-search methods for reducing the number of patterns as a post-processing stage, a linear-programming-based local search, and a heuristically-based local search. Also, computationally intensive methods such as the Branch and Price method discussed above have also been applied. The present invention provides a hybrid method that is more powerful than existing heuristics (e.g., the Gilmore and Gomory method), but with less effort than exact ILP approaches (e.g., the Branch and Price method).
-
FIG. 1 illustrates a sample Pareto curve graph comparing the amount of trim loss (e.g., scrap material) from a solution and the number of patterns used in the solution. When generating a solution to the cutting stock problem, it is desired to minimize the amount of trim loss, while simultaneously minimizing the number of patterns used to cut the stock material. Referring to the curve inFIG. 1 , it is desired to locate a point along the curve that provides the optimal trade-off between the amount of scrap material and the number of patterns. -
FIG. 2 illustrates an exemplary flow chart of amethod 200 of generating a profile of solutions trading off the number of activities utilized and the objective value for bilinear optimization according to the present invention. - First, initial activities, data and parameters are read in (step 201). Then a bilinear model is generated having two sets of activities (step 202). The bilinear ILP model is based on a current set of activities {overscore (N)} and a number of potential new activities {circumflex over (N)}. In the case of the cutting stock problem, {overscore (N)} represents a set of known patterns, and {circumflex over (N)} represents a set of potential new patterns. The set of known patterns {overscore (N)} is initially empty, and set of potential new patterns {circumflex over (N)} is of a very limited size (e.g., no more than 3 elements). However, {overscore (N)} may include a relatively small number (e.g., between 5 and 10) of known patterns, as may be desired by the user.
- The bilinear model, of the present invention, is generated having several limitations, as follows. The set N defined by N:={1, 2, . . . , n} is used to denote the set of patterns to be determined by the solution procedure. A set of n patterns is defined by the columns of an m×n matrix Z. So, zij represents the number of rolls of width wi that is cut from a stock roll when a pattern j is employed. The variable xj is a nonnegative integer variable that represents the number of times the pattern j is employed (the utilization of the pattern j) toward satisfying the client order demands. The variable si represents the part of the deviation (from demand di) of the production of width wi that is within the allowed tolerance. The variable ti represents a part of the deviation that exceeds the tolerance and is treated as trim loss.
- The bilinear model includes the following integer bilinear programming formulation which seeks to minimize trim loss:
- For the most part, the constraints (5)-(13) include linear expressions (i.e., the sum of terms, each of which is the product of data and a variable). For example, constraint (6) multiplies the width of the stock roll wi (fixed data) times the number of rolls zij (variable). Only constraint (10) includes a bilinear (variable times variable) term, zijxj. Constraints containing bilinear terms are extremely difficult and time consuming to work with in an optimization formulation, in comparison to linear terms, because in the bilinear case, the feasible region of the relaxation (where we ignore integer restrictions) is not generally a convex set.
- There are a few strategies for dealing with the bilinearity of constraint (10). Allowing N to be so large that all possible patterns can be accommodated simultaneously, and applying decomposition in a certain manner, leads to the conventional linear-programming based column-generation approach of Gilmore and Gomory, which did not directly work with the bilinear expressions.
- The present invention, on the other hand, uses an alternative approach, which does not rely on decomposition, and thus does not involve an enormous number of variables. The method of the present invention provides a heuristic solution by partitioning N into two sets of patterns, {overscore (N)} (known patterns) and {circumflex over (N)} (potential new patterns).
- For jε{overscore (N)} (the known patterns), the pattern variables zij (the patterns) are treated as fixed data, and xj the utilizations xj are treated as true variables, for jε{overscore (N)}. For jε{circumflex over (N)} (the potential new patterns), all of the variables xj and zij are written in binary expansion and then the binary products are linearized. This results in an ILP model of the form (17)-(30).
- Next, the ILP model is solved and new activities are determined which are moved from {circumflex over (N)} to {overscore (N)} (step 203).
- After each move of new patterns to {overscore (N)}, a local search is conducted (step 204) of the potential new patterns and known patterns, testing whether dropping a few patterns and re-generating patterns offers an improvement (i.e., decrease in the amount of trim loss) to the solution. This is accomplished by solving further ILP models of the form (17)-(30).
- After the local search is completed, we temporarily make {circumflex over (N)} empty and resolve the ILP model (step 205) to determine optimal usages of all known activities. This may result in an improved solution if we had restricted the number of bits in the binary expansion of the utilizations xj in the ILP models employed in
steps - Then, the process determines if the maximum number of activities nmax has been reached (step 206). The
process 200 is stopped when nmax patterns is reached (stop 207). If the maximum number of patterns has not been reached then the process is repeated (from step 202). - The linearization of the binary products, which occurs whenever ILP models of the form (17)-(30) with nonempty {circumflex over (N)} are instantiated (
steps 202 and 204) is described in detail below. The parameter βi represents an upper bound on the greatest number of bits (the number of times a particular pattern is used) used for representing zij in any solution to equations (6-9). For example,
βi:=┌log2(1+min{└W max /w i┘,└†/(1−w i /W max)┘})┐, ∀iεM, M nar,
and
βi:=┌log2(1+min{└W max /w i┘,└†/(1−w i /W max)┘,C nar C nar})┐, ∀iεM nar.
The parameter β represents an upper bound on the greatest number of bits used for representing xj in an optimal solution to the bilinear programming formulation (5-13). For example, β=┌log2 (1+ΣjεNxj)┐, where (x, z, s, t) is any feasible solution to (5-13). It is desirable to have the βi and β small, since smaller values for these parameters generally lead to a decrease in computational effort. If the parameters are chosen too small, however, then the quality of the solution will be adversely affected (i.e., solutions with increased trim loss). The formulae given for βi and β give the maximum values needed. Smaller values (potentially as small as 1) can be experimentally determined, to produce reasonable run times without the quality of the solutions significantly deteriorating. - The method defines Li:={0, 1, . . . βi−1}, for all iεM, and K:={0, 1, . . . , β−1}: to index the bit variables in the binary representations of the integer variables of the model. The binary variables zl ij are defined, for all iεM, jεN, lεLi, and the binary variables xk j are defined, for all jεN, kεK. These are just the bits in the binary representations of the zij and the xj. For a given jεN, we refer to the zij as the integer-encoded pattern j and the zl ij as the binary-encoded pattern j. So, letting
- Equations (14-16) are linearizations for modifying the bilinear model for making the transformation from the bilinear programming formulation (5-13) to the integer linear programming formulations (that we instantiate in
steps 202 and 204). The linearizations transform the bilinear terms into linear terms, at the expense of increasing the number of variables and introducing the inequalities (23). The linearizations are only used in the {circumflex over (N)} set of patterns (the terms involving patterns in {overscore (N)} are linear since we consider the associated patterns to be fixed). The linearizations are substitutions for removing the products zl ij, thereby to simplify the computation. - The linearizations results in an inventive linear model having the following ILP formulation:
- The linear model (17)-(26) is instantiated and solved by the following computational methodology of the present invention, which generates and solves a sequence of instantiations that produce a profile of solutions to the cutting stock problem (steps 202-207). For each iεM, jε{circumflex over (N)}, the variables and equations of (15) describe a Boolean quadric prototype. The ILP formulation (linear model) is strengthened (i.e., the feasible region of the linear programming relaxation is made smaller) using known valid inequalities. For example, some facets of the Boolean quadric polytope are utilized as follows:
x k j +z l ij +y k′l′ ij≦1+y kl ij +y kl′ ij +y k′l ij, (27)
y k′l ij +y kl′ ij +y kl ij ≦x k j +z l ij +y k′l′ ij, (28) -
- ∀iεM, jε{circumflex over (N)}, k, k′εK, l, l′εLi.
Inequalities such as (27) and (28) are designed to restrict the solution space for the linear programming relaxation.
- ∀iεM, jε{circumflex over (N)}, k, k′εK, l, l′εLi.
- Pattern-exclusion constraints
are used in the model to insure that a binary-encoded pattern that is already indexed in {overscore (N)} is not re-generated as an integer-encoded pattern. The re-generation causes possible permutation symmetry that is devastating to a branching procedure. The primary reason for encoding patterns in binary is to accurately model multiplication. However, an additional benefit is that patterns may be easily excluded from being re-generated. - Additionally, implied integer-encoded patterns are ordered lexically, by imposing the following |{circumflex over (N)}|−1 lexicographic constraints:
for some ε>0 to overcome symmetry within {circumflex over (N)}. Choosing ε sufficiently small (e.g., 0.001) insures a true lexical ordering, but this causes numerical problems. A more moderate choice of ε (e.g., 0.25) is sufficient to break enough of the symmetry without causing numerical difficulties. More sophisticated approaches for dealing with this symmetry would be to try to apply further inequalities describing the all-different polytope. - A sequence of models of the form (17-30) is solved using the algorithm described in
FIG. 2 . As discussed above, the set of patterns N is partitioned into the set of known patterns {overscore (N)} and the set of potential new patterns {circumflex over (N)} (step 201). In this initialization phase of thecomputational algorithm 200, {overscore (N)} initially starts empty, or may include a small number of patterns as desired by the user and {circumflex over (N)} allows for a small number va of potential patterns (e.g., ≦3). - Next, a model of the form (17)-(30) is instantiated (step 202). That is, variables are defined for the known patterns (indexed by {overscore (N)}) and to generate new patterns (indexed by {circumflex over (N)}). For jε{overscore (N)}, the zij are treated as data, and the xj are treated as true variables. For jε{circumflex over (N)}, the variables xj and zij are written in binary expansion and then linearized.
- Next, in the augmentation phase (step 203) of the
algorithm 200, the system solves the model (17)-(30), and new patterns from the optimal solution are transferred from {circumflex over (N)} to {overscore (N)}. - Next, a local search is conducted to repeatedly test whether removing vs (e.g., ≦3) patterns from {overscore (N)} and adding vs new patterns to {overscore (N)} from {circumflex over (N)} through a new instantiation of the linear model provides an improvement in the solution (step 204). Once this local search terminates, an additional solve of the linear model is made to determine the true optimal utilizations of all patterns in {overscore (N)} (step 205). This may result in a further decrease in the trim loss, since we may have artificially restricted the number of bits used to represent the utilizations of the patterns that were just generated (in {circumflex over (N)}).
- Next, the system tests whether the current number of patterns in {overscore (N)} has increased to nmax (step 206). If it is, then
algorithm 200 stops. If not, then the algorithm continues fromstep 202. -
FIG. 3 depicts an exemplary block diagram of acomputer system 300 for generating a profile of solutions for a problem according to the present invention. - The
computer system 300 includes at least an initializingunit 301 that reads the data and sets the size of {overscore (N)} and {circumflex over (N)}, aninstantiation unit 302 that instantiates linear models of the form (17)-(30), anaugmenting unit 303 that solves instances of the linear model to determine new patterns and transfers them from {overscore (N)} to {circumflex over (N)}, alocal search unit 304 that solves a sequence of instances of the linear model, successively determining whether dropping a pattern from {overscore (N)} and regenerating patterns through {circumflex over (N)} would offer an improvement to the current solution, and anoptimal utilization unit 305 that solves an instance of the linear model directed at determining the optimal utilizations of all patterns currently in {overscore (N)}. - The method and system of the present invention are developed using the optimization modeling/scripting software AMPL, and the following exemplary results were obtained by conducting experiments on the method and system of the present invention using the exemplary ILP solvers CPLEX 9.0, Xpress-MP 14.27, and the open-source solver CBC (available from www.coin-or.org). In place of AMPL the method can also utilize C, C++, Java, etc.
- Again, the exemplary experiments were conducted in the context of a chemical fiber cutting stock problem. The demands di having the same width Wi—which is common in these data sets, were aggregated for these experiments. Note that in practice it may not be practical to perform such aggregation due to existing post-processing systems.
- Each lower (resp., upper) demand tolerance qi (resp., pi) was set at five percent of demand, rounded down. The search parameters were set at va=vs=1, which (after experimenting initially also with va=vs=2) provided an adequately large search space at reasonable computational effort.
- The formulation was strengthened by using linear inequalities for each of the binary constraints (18-20) (e.g., minimal cover inequalities). Also, the pattern-exclusion constraints (29) may be aggregated and strengthened to improve the computational efficiency.
- In solving the ILPs, the method did not explicitly include all of the Boolean quadratic inequalities (28). Rather, the method solved the LP at the root node using all of the inequalities (28). Then, the system maintained a few hundred of these that had the least slack at the LP optimum and proceeded to solve the resulting ILP.
- In the early iterations of the augmentation phase, when |{overscore (N)}| is quite small, the ILP may not have a feasible solution. The method introduced an artificial variable into each of the demand constraints and penalized these variables in the objective function. Since each iteration of the augmentation phase provides a feasible solution to the next iteration, after each such iteration the system permanently deleted any artificial variables that had
value 0. This step is very simple to carry out by one of ordinary skill in the art, and it is beneficial in speeding up subsequent iterations. - The method and system of the present invention was experimented with on 39 chemical-fiber instances, and uniformly good solutions were obtained. Representative results are summarized in
FIGS. 4A-4F . - In the example in
FIG. 4A , the amount of trim loss is minimized when 11 patterns are used to cut the stock material. However, as shown by the curve, there is not a significant difference between the amount of trim loss when six patterns are used and when up to 11 patterns are used. Therefore, an optimal situation in this example would be to trade off the small amount of trim loss anduse 6 patterns to reduce the total changeover cost. - In the example in
FIG. 4B , the amount of trim loss is minimized when 12 patterns are used to cut the stock material. However, as shown by the curve, there is not a significant difference between the amount of trim loss when 6 patterns are used and when up to 11 patterns are used. Therefore, an optimal solution in this example would be to trade off the small amount of trim loss anduse 6 patterns to reduce the total changeover cost. - In the example in
FIG. 4C , the amount of trim loss is minimized when 12 patterns are used to cut the stock material. However, as shown by the curve, there is not a significant difference between the amount of trim loss when 6 patterns are used and when up to 10 patterns are used. Therefore, an optimal situation in this example would be to trade off the small amount of trim loss anduse 6 patterns to reduce the total changeover cost. Also, when 8 or 9 patterns are used there is only 5% trim loss. The user may consider this an acceptable amount of trim loss, and therefore, use only 8 or 9 patterns to further reduce the changeover costs. - In the example in
FIG. 4D , the amount of trim loss is minimized when 10 patterns are used to cut the stock material. However, as shown by the curve, there is not a significant difference between the amount of trim loss when 7 patterns are used and when up to 10 patterns are used. Therefore, an optimal situation in this example would be to trade off the small amount of trim loss anduse 7 patterns to reduce the total changeover cost. Also, when 5 or 6 patterns are used there is less than 5% trim loss. The user may consider this an acceptable amount of trim loss, and therefore, use only 5 or 6 patterns to further reduce the changeover costs. - In the example in
FIG. 4E , the amount of trim loss is minimized when 10 patterns are used to cut the stock material. However, as shown by the curve, there is not a significant difference between the amount of trim loss when 7 patterns are used and when up to 10 patterns are used. Therefore, an optimal situation in this example would be to trade off the small amount of trim loss anduse 7 patterns to reduce the total changeover cost. Also, when 4-6 patterns are used there is less than 5% trim loss. The user may consider this an acceptable amount of trim loss, and therefore, use only 4-6 patterns to further reduce the changeover costs. - In the example in
FIG. 4F , the amount of trim loss is minimized when 9 patterns are used to cut the stock material. However, as shown by the curve, there is not a significant difference between the amount of trim loss when 6 patterns are used and when up to 9 patterns are used. Therefore, an optimal solution in this example would be to trade off the small amount of trim loss anduse 6 patterns to reduce the total changeover cost. - The results of the present invention, as depicted in
FIGS. 4A-4F provide a user with a profile of solutions so that the user may determine the number of patterns to use by trading off the cost of using an additional pattern against the amount of trim loss saved from using the additional pattern. -
FIG. 5 is an exemplary graph showingsample results 501 obtained by the method of present invention in comparison withresults 502 obtained from a conventional method. Theresult curve 501 of the present invention provides a profile of solutions, similar to those depicted inFIGS. 4A-4F . Theresult curve 501 provides a user with an optimal solution for the number of patterns to use, as well as allows the user to weigh the costs and advantages of using additional patterns. - The
results 502 obtained from using the conventional approaches, however, do not provide a profile of solutions. The conventional approaches provide the user with a single solution, in thiscase 20 patterns, which does not allow the user to tradeoff the costs and advantages of using additional patterns. - In this particular case, the conventional methods would have informed the user that using 20 patterns would optimally minimize the amount of trim loss, but as can be seen from the
results 501 of the present invention using anywhere from 7-9 cutting patterns would not result in a significant amount of trim loss, but would significantly reduce the changeover cost associated with using 20 cutting patterns. - Therefore, with modest computational effort, the method and system of the present invention can obtain solutions with very little trim loss, using many fewer patterns than would be obtained using the conventional methods. Furthermore, the augmentation approach of the invention is especially well suited for delivering a profile of solutions trading off the number of patterns used against trim loss.
- As it stands, the number of binary bit variables for these usages is β|{circumflex over (N)}|, and there is a need to limit the number of these variables if one is to have some hope of quickly solving each of the ILPs along the way. The binary bit variables represent the number of times an activity is used. For example, if a bit variable xk j is set equal to 1, that corresponds to the particular activity, or pattern, being used 2k times.
- The method of the present invention allows the user to artificially limit the number of binary bit variables. This is desirable for several reasons. For example, the model can take larger values for |{circumflex over (N)}| if it takes β to be smaller than that required by the maximum possible usage of a single pattern (in the computational experiments, β:=5). If a good pattern is found in this manner, then once it is transferred to {overscore (N)}, it will enjoy unrestricted usage.
-
FIG. 6 illustrates exemplary results obtained when β is in the range from 2 up through 8. It can be readily seen that for this data set, very good results are achieved with β is as low as 4 if the user can tolerate 31 patterns—even though in the good solutions found, there are some patterns that are used close to 200 (>>24−1=15) times. For fewer numbers of patterns allowed, there is significant benefit to being more generous with the bits. The best strategy seems to be one of dynamically varying β, starting fairly large and decreasing it as |{overscore (N)} increases. - For example, to achieve optimal results, while reducing the number of bits used and the number of patterns used, a user should start out by emulating
curve 8 until 31 patterns are used. At this point, the user can switch to having 4 bits, because as can be seen fromFIG. 6 , the amount of trim loss is the same, once 31 patterns or more are used, for 4 bits-8 bits. Then, once 36 patterns are used, the user could shift to having 2 bits. By providing the user with the plurality of solution profiles as depicted inFIG. 6 , it allows the user to dynamically change the number of bits being used to minimize the computation time associated with generating a good profile of solutions. -
FIG. 7 shows a typical hardware configuration of an information handling/computer system in accordance with the invention that preferably has at least one processor or central processing unit (CPU) 711. TheCPUs 711 are interconnected via asystem bus 712 to a random access memory (RAM) 714, read-only memory (ROM) 716, input/output adapter (I/O) 718 (for connecting peripheral devices such asdisk units 721 and tape drives 740 to the bus 712), user interface adapter 722 (for connecting akeyboard 724, mouse-726,speaker 728,microphone 732, and/or other user interface devices to the bus 712), communication adapter 734 (for connecting an information handling system to a data processing network, the Internet, an Intranet, a personal area network (PAN), etc.), and adisplay adapter 736 for connecting thebus 712 to adisplay device 738 and/or printer 739 (e.g., a digital printer or the like). - As shown in
FIG. 7 , in addition to the hardware and process environment described above, a different aspect of the invention includes a computer-implemented method of performing the inventive method. As an example, this method may be implemented in the particular hardware environment discussed above. - Such a method may be implemented, for example, by operating a computer, as embodied by a digital data processing apparatus to execute a sequence of machine-readable instructions. These instructions may reside in various types of signal-bearing media.
- Thus, this aspect of the present invention is directed to a programmed product, comprising signal-bearing media tangibly embodying a program of machine-readable instructions executable by a digital data processor incorporating the
CPU 711 and hardware above, to perform the method of the present invention. - This signal-bearing media may include, for example, a RAM (not shown) contained with the
CPU 711, as represented by the fast-access storage, for example. Alternatively, the instructions may be contained in another signal-bearing media, such as a magnetic data storage diskette or CD disk 800 (FIG. 8 ), directly or indirectly accessible by theCPU 711. - Whether contained in the
diskette 800, the computer/CPU 711, or elsewhere, the instructions may be stored on a variety of machine-readable data storage media, such as DASD storage (e.g., a conventional “hard drive” or a RAID array), magnetic tape, electronic read-only memory (e.g., ROM, EPROM, or EEPROM), an optical storage device (e.g., CD-ROM, WORM, DVD, digital optical tape, etc,), or other suitable signal-bearing media including transmission media such as digital and analog and communication links and wireless. In an illustrative embodiment of the invention, the machine-readable instructions may comprise software object code, compiled from a language such as “C”, etc. - Additionally, it should also be obvious to one of skill in the art that the instructions for the technique described herein can be downloaded through a network interface from a remote storage facility.
- The present method (and system) addresses the shortcomings of the conventional pattern-generation approach by formulating a holistic model that simultaneously seeks a small number of new patterns, their usages, and the usages of the current set of patterns. That is, the unified model of the present invention generates new patterns in situ. Another benefit of the unified model of the present invention is that it is easily embedded in a local-search framework which is ideal for working with constraints that are not modeled effectively in an ILP setting.
- While the invention has been described in terms of several exemplary embodiments, those skilled in the art will recognize that the invention can be practiced with modification within the spirit and scope of the appended claims.
- Further, it is noted that, Applicant's intent is to encompass equivalents of all claim elements, even if amended later during prosecution.
Claims (21)
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/068,861 US20060197769A1 (en) | 2005-03-02 | 2005-03-02 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
US12/098,172 US8265971B2 (en) | 2005-03-02 | 2008-04-04 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
US13/525,996 US20120254082A1 (en) | 2005-03-02 | 2012-06-18 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/068,861 US20060197769A1 (en) | 2005-03-02 | 2005-03-02 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
Related Child Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/098,172 Continuation US8265971B2 (en) | 2005-03-02 | 2008-04-04 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
Publications (1)
Publication Number | Publication Date |
---|---|
US20060197769A1 true US20060197769A1 (en) | 2006-09-07 |
Family
ID=36943685
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US11/068,861 Abandoned US20060197769A1 (en) | 2005-03-02 | 2005-03-02 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
US12/098,172 Expired - Fee Related US8265971B2 (en) | 2005-03-02 | 2008-04-04 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
US13/525,996 Abandoned US20120254082A1 (en) | 2005-03-02 | 2012-06-18 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
Family Applications After (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/098,172 Expired - Fee Related US8265971B2 (en) | 2005-03-02 | 2008-04-04 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
US13/525,996 Abandoned US20120254082A1 (en) | 2005-03-02 | 2012-06-18 | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models |
Country Status (1)
Country | Link |
---|---|
US (3) | US20060197769A1 (en) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070120357A1 (en) * | 2005-11-28 | 2007-05-31 | Honeywell International Inc. | Order charting for flat sheet industries |
EP1901214A1 (en) * | 2006-09-18 | 2008-03-19 | ABB Oy | A method for optimization of subsequent treatment processes in production planning |
US20140025189A1 (en) * | 2012-07-20 | 2014-01-23 | Honeywell Asca Inc. | Method for Target Driven Charting in Flat Sheet Industries |
WO2017000021A1 (en) * | 2015-06-29 | 2017-01-05 | 8-Sigma Consulting Pty Ltd | A method and a computer program for determining a combination of patterns for cutting bulk material |
CN107578144A (en) * | 2017-08-03 | 2018-01-12 | 中车青岛四方机车车辆股份有限公司 | A kind of big line discharging method |
CN110569479A (en) * | 2019-10-09 | 2019-12-13 | 上海脉拓信息科技有限公司 | Data information processing method for nonlinear fluid |
Families Citing this family (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7882462B2 (en) | 2006-09-11 | 2011-02-01 | The Mathworks, Inc. | Hardware definition language generation for frame-based processing |
US8745557B1 (en) | 2006-09-11 | 2014-06-03 | The Mathworks, Inc. | Hardware definition language generation for data serialization from executable graphical models |
US9436441B1 (en) | 2010-12-08 | 2016-09-06 | The Mathworks, Inc. | Systems and methods for hardware resource sharing |
US9355000B1 (en) | 2011-08-23 | 2016-05-31 | The Mathworks, Inc. | Model level power consumption optimization in hardware description generation |
US10078717B1 (en) | 2013-12-05 | 2018-09-18 | The Mathworks, Inc. | Systems and methods for estimating performance characteristics of hardware implementations of executable models |
US9817931B1 (en) | 2013-12-05 | 2017-11-14 | The Mathworks, Inc. | Systems and methods for generating optimized hardware descriptions for models |
US10423733B1 (en) | 2015-12-03 | 2019-09-24 | The Mathworks, Inc. | Systems and methods for sharing resources having different data types |
CN106920004A (en) * | 2017-01-25 | 2017-07-04 | 重庆大学 | A kind of one-dimensional stock-cutting method based on cost dynamic equilibrium |
CN111783254B (en) * | 2020-07-22 | 2021-03-02 | 欧冶云商股份有限公司 | Steel cutting control method and device based on multi-target mixed integer programming |
US20220253954A1 (en) * | 2021-02-04 | 2022-08-11 | C3.Ai, Inc. | Post-processing heuristics for optimal production scheduling for process manufacturing |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
GB1052596A (en) * | 1964-06-30 | 1900-01-01 | ||
US5235508A (en) * | 1990-05-31 | 1993-08-10 | At&T Bell Laboratories | Automated resource allocation cutting stock arrangement using random cut patterns |
US20030224363A1 (en) * | 2002-03-19 | 2003-12-04 | Park Sung M. | Compositions and methods for modeling bacillus subtilis metabolism |
US7224761B2 (en) * | 2004-11-19 | 2007-05-29 | Westinghouse Electric Co. Llc | Method and algorithm for searching and optimizing nuclear reactor core loading patterns |
-
2005
- 2005-03-02 US US11/068,861 patent/US20060197769A1/en not_active Abandoned
-
2008
- 2008-04-04 US US12/098,172 patent/US8265971B2/en not_active Expired - Fee Related
-
2012
- 2012-06-18 US US13/525,996 patent/US20120254082A1/en not_active Abandoned
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070120357A1 (en) * | 2005-11-28 | 2007-05-31 | Honeywell International Inc. | Order charting for flat sheet industries |
US7610114B2 (en) * | 2005-11-28 | 2009-10-27 | Honeywell International Inc. | Order charting for flat sheet industries |
EP1901214A1 (en) * | 2006-09-18 | 2008-03-19 | ABB Oy | A method for optimization of subsequent treatment processes in production planning |
US20080071406A1 (en) * | 2006-09-18 | 2008-03-20 | Abb Oy | Method for optimization of subsequent treatment processes in production planning |
US7987016B2 (en) | 2006-09-18 | 2011-07-26 | Abb Oy | Method for optimization of subsequent treatment processes in production planning |
US20140025189A1 (en) * | 2012-07-20 | 2014-01-23 | Honeywell Asca Inc. | Method for Target Driven Charting in Flat Sheet Industries |
US9202181B2 (en) * | 2012-07-20 | 2015-12-01 | Honeywell Asca Inc. | Method for target driven charting in flat sheet industries |
WO2017000021A1 (en) * | 2015-06-29 | 2017-01-05 | 8-Sigma Consulting Pty Ltd | A method and a computer program for determining a combination of patterns for cutting bulk material |
CN107578144A (en) * | 2017-08-03 | 2018-01-12 | 中车青岛四方机车车辆股份有限公司 | A kind of big line discharging method |
CN110569479A (en) * | 2019-10-09 | 2019-12-13 | 上海脉拓信息科技有限公司 | Data information processing method for nonlinear fluid |
Also Published As
Publication number | Publication date |
---|---|
US8265971B2 (en) | 2012-09-11 |
US20080189089A1 (en) | 2008-08-07 |
US20120254082A1 (en) | 2012-10-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8265971B2 (en) | Method and apparatus for generating profile of solutions trading off number of activities utilized and objective value for bilinear integer optimization models | |
Lin et al. | Design, synthesis and scheduling of multipurpose batch plants via an effective continuous-time formulation | |
Pan et al. | Local search methods for the flowshop scheduling problem with flowtime minimization | |
Nagarajan et al. | Tightening McCormick relaxations for nonlinear programs via dynamic multivariate partitioning | |
Kim et al. | A Lagrangian–DNN relaxation: a fast method for computing tight lower bounds for a class of quadratic optimization problems | |
Gümüş et al. | Global optimization of mixed-integer bilevel programming problems | |
Saharidis et al. | Accelerating Benders method using covering cut bundle generation | |
Goldansaz et al. | A hybrid imperialist competitive algorithm for minimizing makespan in a multi-processor open shop | |
Chu et al. | Hybrid method integrating agent-based modeling and heuristic tree search for scheduling of complex batch processes | |
Munari et al. | Using the primal-dual interior point algorithm within the branch-price-and-cut method | |
Misener et al. | A framework for globally optimizing mixed-integer signomial programs | |
Zhou-Kangas et al. | Decision making in multiobjective optimization problems under uncertainty: balancing between robustness and quality | |
Wei et al. | A branch-and-price algorithm for the two-dimensional vector packing problem | |
Bodur et al. | Inverse mixed integer optimization: Polyhedral insights and trust region methods | |
Yang et al. | Designing fuzzy supply chain network problem by mean-risk optimization method | |
Hrga et al. | MADAM: a parallel exact solver for max-cut based on semidefinite programming and ADMM | |
Clautiaux et al. | Lower and upper bounds for the bin packing problem with fragile objects | |
Shioura et al. | Decomposition algorithms for submodular optimization with applications to parallel machine scheduling with controllable processing times | |
Ha et al. | Resource analysis of quantum computing with noisy qubits for Shor’s factoring algorithms | |
Cho et al. | Exact mixed-integer programming approach for chance-constrained multi-area reserve sizing | |
Burer et al. | Interior-point algorithms for semidefinite programming based on a nonlinear formulation | |
Yepes-Borrero et al. | Flowshop with additional resources during setups: Mathematical models and a GRASP algorithm | |
Mockus et al. | Continuous time representation approach to batch and continuous process scheduling. 2. Computational issues | |
Tasan et al. | An integrated selection and scheduling for disjunctive network problems | |
Sbihi | A cooperative local search-based algorithm for the multiple-scenario max–min knapsack problem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:LEE, JONATHAN;REEL/FRAME:016295/0467 Effective date: 20050302 |
|
AS | Assignment |
Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: CORRECTIVE ASSIGNMENT TO CORRECT SERIAL NUMBER 10/068861 ERRONEOUSLY RECORDED AT REEL 016295, FRAME 0467;ASSIGNOR:LEE, JONATHAN;REEL/FRAME:016875/0204 Effective date: 20050302 Owner name: INTERNATIONAL BUSINESS MACHINES CORPORATION, NEW Y Free format text: CORRECTED RECORDATION FORM COVER SHEET TO CORRECT APPLICATION NUMBER PREVIOUSLY RECORDED ON REEL/FRAME 016295/0467;ASSIGNOR:LEE, JONATHAN;REEL/FRAME:016873/0958 Effective date: 20050302 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES U.S. 2 LLC, NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:INTERNATIONAL BUSINESS MACHINES CORPORATION;REEL/FRAME:036550/0001 Effective date: 20150629 |
|
AS | Assignment |
Owner name: GLOBALFOUNDRIES INC., CAYMAN ISLANDS Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:GLOBALFOUNDRIES U.S. 2 LLC;GLOBALFOUNDRIES U.S. INC.;REEL/FRAME:036779/0001 Effective date: 20150910 |