CA2063349C - Automated resource allocation system employing a learning arrangement - Google Patents

Automated resource allocation system employing a learning arrangement

Info

Publication number
CA2063349C
CA2063349C CA002063349A CA2063349A CA2063349C CA 2063349 C CA2063349 C CA 2063349C CA 002063349 A CA002063349 A CA 002063349A CA 2063349 A CA2063349 A CA 2063349A CA 2063349 C CA2063349 C CA 2063349C
Authority
CA
Canada
Prior art keywords
solution
multiplicity
cut
partial solutions
feasible
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.)
Expired - Fee Related
Application number
CA002063349A
Other languages
French (fr)
Other versions
CA2063349A1 (en
Inventor
Yuval V. Lirov
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
AT&T Corp
Original Assignee
American Telephone and Telegraph Co Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by American Telephone and Telegraph Co Inc filed Critical American Telephone and Telegraph Co Inc
Publication of CA2063349A1 publication Critical patent/CA2063349A1/en
Application granted granted Critical
Publication of CA2063349C publication Critical patent/CA2063349C/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/04Forecasting or optimisation specially adapted for administrative or management purposes, e.g. linear programming or "cutting stock problem"
    • G06Q10/043Optimisation of two dimensional placement, e.g. cutting of clothes or wood
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06315Needs-based resource requirements planning or analysis
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/06Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
    • G06Q10/063Operations research, analysis or management
    • G06Q10/0631Resource planning, allocation, distributing or scheduling for enterprises or organisations
    • G06Q10/06316Sequencing of tasks or work

Abstract

A facility is provided for allocating a constrained common resource among a plurality of demands, in which a recommended solution to such an allocation is achieved by employing partial solutions priorly generated and stored in a database as a result of allocating the common resource among a plurality of prior, and possibly different, demands for the common resource.

Description

~33~
-AUTOMATED RESOURCE ALLOCATION ~Y~
EMPLOYING A LEARNING ARRANGEMENT
Technical Field This invention relates to a method of allocating a constrained common 5 resource among a plurality of demands for the resource.
Back~round of the Invention The term "resource allocation" problem applies to those problems, which have as a common characteristic, a need to allocate a constrained common resource among a plurality of dPm~nfls for the resource. One prior arrangement 10 gen~ldlt;s a recommenfle~l solution to an allocation problem in accord with an algoli~llll compri~ing the steps of (a) generating a set of patterns as c~n-lid~tes for a reco....nf .~led solution; (b) setting goals for a pattern to meet before the pattern becomes a c~ndi-l~te for the recollllllended solution; (c) searching the set of patterns and identifying those patterns that meet the goals; and (d) appending those patterns 15 that meet the goals to the reco.."~-f.n~1ed solution. It can be appreciated from the foregoing that an appreciable amount of processing time may be expended to g.,ne~ a reco..-.--e~-decl solution--a problem that is generally applicable to most resource allocation arrangements.
Moreover, such prior arrangwllen~s typically treat each resource 20 allocation problem as though it were unique and, therefore, follow each step of their respective algc,lilhllls in generating a recolll~ nded solution, even though the~lloc~tion problem may be similar to, or possibly the same as, an allocation problem that has been solved in the past.
Summary of the Invention This and other problems associated with prior arrangements adapted to solve the dem~n(l for resource allocation are dealt with by providing, in accord with the principles of the invention, a knowledge based system arranged to track reco"..~-~.n(led solutions to prior resource allocation problems and identify those prior solutions which may be used to solve a current resource allocation problem, 30 thereby greatly enh~ncing the speed and delivery of a reco-.. P.n-l~fl solution.
Brief Description of the Drawin~s In the drawing:
FIG. 1 is a block diagram illustrating a controller process for practicing the present invention and ~t~fi3~
-FIG. 2 illustrates the principles of the invention through the use of a numerical example, which is helpful in underst~nding those principles, and FIG. 3 illustrates a reco,~ ,nded solution for allocating a constrained common resource among a plurality of demands where the solution is a result that is 5 obtained by applying the principles of our invention to the n-lm~nc~l example illustrated in FIG. 2.
Detailed Description To aid in understanding our invention, the following description is discussed, by way of example and not by way of limit~tion, in terms of a paper mill 10 production process, in which the common resource is a large roll of paper having a width W and in which the length of the paper is assumed to be significantly longrelative to the width W. It may be noted that the large roll is commonly referred to as a log-roll. While not limiting the principles of our invention, the large length-to-width assumption allows us to describe an illustrative embodiment of the principles 15 of our invention without infecting the description with llnn-~cessary dialogue about the length of the log-roll.
Specific~lly, consider that a log-roll is to be cut into a plurality of smaller width rolls, each smaller roll having its own width Wi where i equals 1 through I, in order to meet the plurality of demands D i that are placed on the 20 common resource, i.e. on the log-roll. For any specific width Wi, it may be desired that there be one or more rolls of that width Wi. The symbol D i identifies the total number of smaller rolls of width Wi required to meet the demand of the customer while the symbol I identifies the total number of dirrel~llt widths Wi such that e~ch width Wi is dirr~ t than another width Wj if i and j are dirrerent. Clearly the 25 demand of one or more customers can be viewed as a demand vector D with I
dem~nd elements Di where each (lem~nd element Di could be the sum of the tlem~n~k of several ~;uslo~llers, while the smaller widths can be viewed as a width vector W with I smaller width elements W i . Hence, the total demand TD of one or more cnslo---e.~, may be said to be equal to a vector product D x W, or:
D X W = TD, or D1 X W1 + D2 X W2+ ~-- +DI X WI = TD (1) Further, and as mentioned earlier, we do not need to worry about the length of either the large roll or any of the smaller rolls. That worry can go away by con~i-lering the length of each cut to be n~ li7~d and, in that manner, we can 35 remove the length variable as a factor that needs further elaboration in a description ~33 ~

of an illustrative embodiment of the principles of our invention. However, as anaside, it is worth noting that the n.illi."-.l" number of n~ rm~li7~ lengths of the log-roll is equal to the quotient of the total ~em~nd TD divided by the width of the log-roll W.
Still further and worth emph~i7ing, any cut of the log-roll can include one or more cuts of any specific width W i, e.g., a single cut of the log-roll could include a plurality of cuts of the same width W i . Indeed, a single cut of the log-roll could include up to D i cuts of the same width W i.
The term "cut pattern", may be defined as a pattern that identifies a 10 specific setting of a plurality of knives so as to cut a specific pattern of smaller rolls from the log-roll. As an aside, it is assumed that the length of the cut pattern will be some norm~li7Pd length. It is also assumed that there will likely be a plurality of cut p~ttf rn~, each of the norm~li7~1 length. Only when the plurality of cut patterns is actually cut from the log-roll can the cu~ol~ 's ~lem~n~l be met. Continuing, a cut 15 pattern may be expressed as a cut pattern vector Y of integer numbers where the cut pattern vector Y is also of ~lim~n~ion I and where each respective element Y i of cut pattern vector Y identifies the number of smaller rolls of width Wi which are to be cut from the log-roll of width W during one roll trimming operation, i.e., during one cut of one norm~li7~1 length of the log-roll.
The term "feasible cut pattern" may be defined as a specific kind of cut pattern, i.e., a feasible cut pattern is a cut pattern that satisfies certain constraint~, which constraints are one form of goal to be satisfied. One constraint or goal that must be satisfied by a feasible cut pattern is that the vector product Y x W must n~
exceed the width W of the log-roll, i.e.:
Y x W < W, or Y1 X W1 + Y2 X W2+ ~-- + YI X WI ~ W (~) Still other constraints or goals can be imposed on a cut pattern be~ It may be treated as a feasible cut pattern. The other constraints typically arise In response to process or technological limitations and to manufacturing and 30 transportation costs. However, for purposes of describing an illustrative embodiment of the principles of our invention, and not by way of limitation, we choose to use the constraint of equation (2) in this description. If a cut pattern vector Y meets all of the constraints of a particular application, it becomes known as a feasible cut pattem and is also symboliJed as a feasible cut pattern vector Y. No~e 35 that feasible cut ~atlellls are a subset of cut pattems.

Note that a feasible cut pattern Y may not satisfy all of the demand D
because it must also satisfy one or more constraints such as the constraint of equation (2). As a result, the feasible cut pattern Y may have one or more of its elements Yj, which have a value of Yj that is less than the corresponding demand Dj.
5 In such an event, it will be necessary that there be more than one occurrence of that width Wj, and perhaps the cut pattern, in the recommended solution for the trimming of the log-roll, i.e., that width Wj will need to be repeated in the same or in a different cut pattern. If two or more cut patterns are identical, then it is said that there is a "multiplicity" of that cut pattern. In particular, if there are two occurrences of a 10 specific cut pattern, the multiplicity value of that cut pattern is said to be of value two.
If there are three occurrences of a specific cut pattern, the multiplicity value of that cut pattern is said to be of value three, etc. Extending this definition of the term"multiplicity", a unique cut pattern is then said to have a multiplicity of value one.
Based on the foregoing, the problem to be solved may be restated to be the 15 timely generation of feasible cut patterns together with their respective multiplicities so as to satisfy the demand of one or more customers on the one hand, consistent with reducing waste on the other hand.
The proposed arrangement generates such feasible cut patterns using a database containing prior partial solutions and a recursive controller that follows four 20 sets of rules. Such a controller may be arranged as illustrated in FIG. 1, and includes six memories, all of which may be suitably embodied in software and memory devices.
In particular, the four sets of rules are embodied respectively in ideal pattern generator 120, selector 140, adapter 160 and reducer 180, while the six memories are embodied in first demand memory 110, ideal cut pattern memory 130, 25 third feasible cut pattern memory 150, multiplicity memory 170, partial allocations patterns memory 190 and prior allocations patterns memory 200.
The first memory I 10 contains the customer demand vector D and, hence, its plurality of demand elements Dj for the common resource.
The prior art, for example, Canadian Patent Application S.N. 2,038,005, 30 filed March 11, l991, describes certain techniques for generating a plurality of feasible cut patterns, which are stored in third memory 150. That technique involves generating a multi-dimensional random distribution function, storing the function, and then randomly generating a plurality of feasible cut patterns, which are stored in third memory 150. However, such a .
, , ~0633~
-technique does not provide an efficient method of retaining and retrieving feasible cut pattern~ generated in response to solving a particular resource allocation.
Accordingly, the technique must be invoked whenever feasible cut patterns are neede~l In contrast, the present invention advantageously retains in memory 200 partial solutions, or feasible cut patterns, which have been g~llcl~cd over the course of solving a prior resource allocation problem and provides a simple, efflcient method of identifying which of the stored feasible cut patterns may be used to solve a current resource allocation problem. Accordingly, once a sufficient number of 10 partial solutions, or feasible cut patterns, have been stored in Illelllul y 150, then there is no longer any need to generate such patterns by first generating a random function, storing the function and then generating feasible cut paltçrn~ as is priorly done.
Specifi~lly, generator 120, responsive to unloading from memory 110 a dem~nrl D vector, genelatcs an ideal pattern and stores the pattern in second 15 Il~clllwy 130. Responsive to the storage of that pattern, selector 140 searches the emul~ 200 d~t~b~e of prior cut patterns and if l~ntifitos and selects, in accord with an aspect of the invention and as will be explained below in detail, those cut patterns Y which lcplesent feasible solutions that meet the ideal cut pattern generated by gcnclalor 120. Selector 140 stores each such feasible cut pattern that it identifies in 20 fourth memory 155.
Adapter 160, responsive to the storage of such feasible cut patterns Y
and to the cu~lolllcl's demand D, gen~ales a multiplicity value M for each such pattern and stores the value in fourth memory 170. Responsive to the multiplicity values M that are stored in memory 170, to the feasible cut patterns Y and to the 25 cu~tomer~s demand D, reducer 180 genel~tes for each feasible cut pattern identified by selector 140 a so-called residual (l~m~nd RD (defined below), and selects a recommende~1 feasible cut pattern Y, its multiplicity value M and its residual demand RD, in the manner discussed below. Reducer 180 then stores such selection~, except the associated residual dem~nd in memory 190 for later use in30 adjusting the knives to cut the log-roll, i.e., they become part of a recc ,l"llended solution for allocating the common resource among the plurality of demands.
Reducer 180 then substitutes for the d~m~n~l D stored in first memory 110 the newly generated residual dem~n-l~ RD. Thus, the foregoing processiterates until goal identifier 120 detects that the cu~tomer's residual demand RD is 35 equal to or less than a design pa~eler, which reflects an allowable and acceptable tolerance for the waste, which in an ideal case would be zero.

4 ~

More specifically, generator 120 is arranged to generate an ideal cut pattern vector Y with elements Yj for each i from 1 through I using:

Yi = Di + Wi 2 ' ( ) B
where L = 2A - C ,B = ~, DiWi ,C = ~ Wi, andwhereAisa i=l i=l 5 constraint that is satisfied by vector Y, namely, I

~ YiWi < A.

More specifically, selector 140 may be arranged to determine the "distance"
of each feasible cut pattern that is stored in memory 150 from the "ideal cut pattern"
(vector Y) stored in memory 130, as will be explained below in detail. Over the course 10 of making such a determination selector 140 selects as a best candidate the cut pattern having the shortest distance. The selected cut pattern is then analyzed to determine whether or not it satisfies the imposed constraints or goals, such as the constraint that may be imposed using equation (2) as well as any other constraints or goals (i.e., selector 140 determines whether or not the generated cut pattern is a feasible cut 1 5 pattern).
Selector 140 repeats the above processes until it identifies and stores in memory 150 a predetermined number of feasible cut patterns. (It is noted that if the number of prior cut patterns stored in database memory 200 is not sufficient to identify such feasible cut patterns, then such feasible cut patterns would have to be generated 20 using known prior art methods. Such newly generated cut patterns would then be stored in memory 150 as well as memory 200. Accordingly, controller 100 implements a learning feature, whereby a database of solutions to a prior allocation problem may be established for providing feasible solutions to a subsequent allocation problem).
More specifically, adapter 160 employing the following methodology 25 generates a multiplicity value M for each feasible cut pattern that selector 140 identifies and stores in memory 150.
3 ~ ~

That is, adaptor 160 generates a so-called multiplicity ratio Xi for each value of i from 1 through I for which there is a feasible cut pattern element Y i that is greater than zero according to the following rel~tion~hip:
Di Xi= y (4) Adapter 160 then selects the sm~llçst multiplicity ratio Xi corresponding to a feasible cut pattern Y, truncates any fractional remainder from the smallest multiplicity ratio Xi from equation (3), and assigns the integer part of the smallest X i as an upper limit M of the multiplicity value M for that feasible cut pattern Y. Accordingly, the multiplicity value for a feasible cut pattern Y is 10 symbolized as M where M can have any value belweell zero and the upper limit M, i.e., 0 < M < M.
Adapter 160 repeats the above processes until a multiplicity value M is generated for each feasible cut pattern Y and stores the results in memory 170.
More specifically, reducer 180 is arranged to geneld~G so-called residual 15 demands RD. Such residual demands RD, as mentioned above, are used to update the customer demand D and are based on (a) the customer demand D stored in memory 110, (b) the multiplicity values M stored IllGlll( ly 170 and (c) the feasible cut patterns Y stored in memory 150. In addition, reducer 180 selects and stores in Illellloly 190 one of the multiplicity values M as well as its corresponding feasible 20 cut pattern Y as a part of the reco~ l~nded solution to the allocation of the current constrained common resource among the plurality of dem~n~s for the resource.
Reducer 180 generates a residual dem~n~l vector RD for each feasible cut pattern Y by subtracting from the customer clçm~ntl D the vector product of the feasible cut pattern Y and its corresponding scalar multiplicity value M from the 25 customer flçm~nd D. This may be stated in the form of an equation as follows:
Rçsidll~l demand (RD) = D - Y x M (5) Since each residual demand vector RD includes I residual demand elements RDi, reducer 180 then goes on to evaluate each of the residual demands RD that it generates by selecting the largest residual demand element in the residual 30 demand vector, Max RD i, and divides the value of the largest element Max RD j by the multiplicity value M of the feasible cut pattern Y that was used in generating the residual demand RD according to equation (5). The resultant quotient is stored in memory and is referred to herein as the evaluation ratio ER for the corresponding 2~fi33~

feasible cut pattern Y, which may be stated mathem~tic~lly as follows:
Max RDi ER = M (6) It is understood of course that other forms of evaluation ratio ER are also possible.
For example, almost any polynomial function of MaxRD i and M would be a 5 s~ticf~ctory evaluation ratio, as long as it is consistent with the principles of instant mventlon.
Reducer 180 repeats the evaluation process for each of the residual ~lem~n-l~ RD (in which, as mentioned above, there is a residual demand vector RDfor each feasible cut pattern Y and, therefore, results in a corresponding number of 10 corresponding evaluation ratios).
Reducer 180 then stores in memory 190 as the recomm-onded partial solution to the current allocation problem the feasible cut pattern and its multiplicity value that are associated with the evaluation ratio having the smallest value. In ~d-lition, reducer 180 substitutes the associated residual ~em~nfl for the demand D
15 stored in memory 110.
We now refer to FIG. 2 for a num~ncal example that illustrates the principles of the invention as discussed above. Consider a large width roll of paper, i.e., the log-roll, of width W equal to 91 units. Next, consider a requirement to cut the log-roll into (D 1 = ) 13 smaller rolls, each of width (W 1 = ) 30 units, and in~o 20 (D 2 = ) 23 smaller rolls, each of width (W 2 = ) 20 units, and finally into ( D ~ = ) 17 smaller rolls, each of width (W3 = ) 10 units. Using the above symbology:
W= 91 W= (30,20,10) = (Wl,W2,W3) (X
D = (13,23,17) = (Dl D2,D3) (9) 25 Note the symbology of equations (7), (8) and (9) has been transferred to, and Is shown in, item 210 of FIG. 2 for use in this nume~ic~l example.
Assume that third memory 200 contains priorly generated cut pattern~
yl = (1,3,0),Y2 = (2,1,1),Y3 = (1,2,2),Y4 = (2,0,3),andYs =
Now goal generator 120 generates a "goal cut pattern vector" according to 30 equation (3) to be Yl = 13 + 30 2.91 (l23.3o+223 2o+2l7 lo) =l3+l5(-o.598)=l3-x ~7=~o3 Y2 = 23 + 2 (-0.598) = 17.02, 2 ~ ~ 3 ~

Y3 = 17 + 10 (-0.59) = 14.05.
Next, selector 140 generates the squares of distances of the available vectors in memory 150 from the new vector Y = (4.03, 17.02, 14.05) as follows:
d(Y, yl) = (4.03-1)2 + (17.02-3)2 + (14.05-0)2 = 403.18 5 d(Y, y2) = (4.o3-2)2 + (17.02-1)2 + (14.05-1)2 = 431.02 d(Y, Y3) = (4.03-1)2 + (17.02-2)2 + (14.05-2)2 = 379.28 d(Y, Y4) = (4.03-2)2 + (17.02-0)2 + (14.05-3)2 = 415.90 d(Y,Ys) = (4.o3_3)2 + (17.02-0)2 + (14.05_0)2 =488.14 In the manner discussed above, selector 140 selects vector Y3 since its distance to 10 the "goal cut pattern" is the smallest. Selector 140 then analyzes the selected cut pattern to determine whether or not the pattern Y3 satisfies certain constraints or goals, e.g., the constraint lcpl~scnted by equation (2). In this case, note from the W
vector in item 210 and from the Y vector in item 220 that:
Yl XWl + Y2 XW2 +Y3 xW3 <W,or 1 x 30 + 2 x 20 + 2 x 10 = 90 < 91 (10) Hence, the cut pattern Y in item 220 is a feasible cut pattern.
Accordingly, adapter 160 genc;l~les multiplicity value M for each feasible cut pattern Y. Note that, by use of the multiplicity ratios X i from equation (4), eight repetitions of the feasible cut pattern in item 220 is the nn~xi~."~ possible 20 number of cuts that may be obtained using that feasible cut pattern without ex~ee~ling the customer's dem~n(l D. Note that, if there were nine repetitions of the feasible cut pattern in item 220, then there would be 18 small rolls of width (W3 = ) 10 whereas the ~lem:~n-l D3 for that width (W3 = ) 10 was only 17.
Therefore, the upper limit M of multiplicity value M of the feasible cut pattern Y in 25 item 220 has a value of eight, i.e. M = 8. In present illustrative example, it is assumed that M = M.
Reducer 180 using the initial cllstom~ r dem~ncl vector D from first memory 110, the plurality of multiplicity values M frcm fourth memory 170 and the plurality of feasible cut patterns Y from third memory 150, generates residual 3û demand vector RD to update the initial (1em~nd D, as discussed above. Reducer 180, ~3~

in the manner discussed above, then selects one of the multiplicity values M as well as its corresponding feasible cut pattern Y for storage in database memory 200 and for storage in memory 190 as a part of the recommended solution.
In the present illustrative example, reducer 180 genel~Les the residual 5 demand vectors RD illustrated in item 220 by determining the difference between the dem~nfl D in item 210 and the amount that demand D that is satisfied by the multiplicity value M associated with the recommended feasible cut pattern Y. Foritem 220, the residual demand RD that remains to be s~ti~fi--d after eight, i.e. M = 8, cuts in accord with the recommended feasible cut pattern Y = (1,2,2) would be a 10 residualdemandvectorRDof((RDl,RD2,RD3) = )(5,7,1).
In accord with the principles of the present invention, the foregoing process then identifies item 220 as being a part of the recommende~l solution. The foregoing process is then repeated to identify the next recomm~ntle-l feasible cut pattern, as ~c~l~senlt;d by item, or block 230, and then goes to repeat the process 15 once more, as represented by item, or block 240.
As earlier mentioned, the inventive arrangement repeats the methodology until generator 120 is sati~fied that some predeterminçfl level of tolerance has been met. In the present illustrative example, it is ~snm~cl that an acceptable level tolerance may be set such that no residual demand element exceeds 20 a value of one. What that means is that an item, for example, item 240, may be added to the recommended solution as long as it includes a feasible cut pattem and no element in its residual demand exceeds a value of one.
Turning now to FIG. 3, there is shown a ~u~ of the results of the illustrative example of FIG. 2. That is, FIG. 3 illustrates the Illalmer in which the 25 iterative methodology combines the results illustrated in blocks 220, 230 and 240 of FM. 2 to obtain a l.,co....--Pnded solution.
First, item 220 of FIG. 2 recommends eight multiplicities, i.e., M = X, of feasible cut pattern Y = (1,2,2) be cut from the log-roll in smaller widths W = (30,20,10). Tr~n~l~ting FIG. 2 into FIG. 3, note that the recommended solution 30 includes the knives being set to cut the log-roll for one width of 30 units, two widths of 20 units, and two widths of 10 units. That cut is repeated eight times, with each cut being of the aforesaid norm~li7ecl length.
Second, item 230 of FIG. 2 recom.l~nds two multiplicities, i.e., M = 2, of feasible cut pattern Y = (1,3,0) be cut from the log-roll in smaller width W =
35 (30,20,10). Translated into FIG. 3, note that the reco.----~n-le~l solution includes the knives being set to cut the log-roll for one width of 30 units, three widths of 20 units, 3 ~. ~

and zero widths of 10 units. That cut is repeated two times, with each cut being of the aforesaid norrn~li7~d length.
Third, item 240 of FIG. 2 recommends one multiplicity, i.e., M = 1, of feasible cut pattern Y = (2,1,1) be cut from the log-roll in smaller width W =
5 (30,20,10). Tr~nsl~ted into FIG. 3, note that the reco~ lended solution includes the knives being set to cut the log-roll for two widths of 30 units, one width of 20 units, and one width of 10 units. That cut is pelrolmed one time and the one cut is of the aforesaid norm~li7~d length.
Note that the waste using the recommended solution obtained in accord 10 with the present illustrative example is only one unit for each of the eleven cuts of the log-roll.
Although the invention has been described and illustrated in detail using a log-roll l.;..,---il~g example, it is to be understood that the same is not by way of limit~ti~?n. Hence, the spirit and scope of our invention is limited only by the terms 15 of the appended claims. For example, it can be appreciated that the claimed invention has application in other technologies requiring a solution to allocating a common resource, for example, the bandwidth of a data channel, among a pluralityof demands for the common resource, for example, data modules.

Claims (4)

1. A method for allocating a constrained common resource among a current plurality of demands for the resource comprising the steps of:
(a) searching a database having stored therein a plurality of prior partial solutions generated as a result of allocating said common resource among respective ones of a plurality of prior demands and selecting from said database those of said prior partial solutions that may be used to form a recommended solution of allocating said resource among said current plurality of demands;
(b) generating a multiplicity ratio for each of said selected partial solutions;
(c) responsive to each said multiplicity ratio and its corresponding one of said selected partial solutions, reducing said selected partial solutions to a single partial solution, which can be included in said recommended solution;
(d) repeating steps (a), (b), and (c) until a predetermined level of tolerance is met;
(e) providing each said single partial solution and its corresponding multiplicity ratio as the recommended solution; and (f) allocating the common resource among the current plurality of demands in accordance with the recommended solution.
2. The method set forth in claim 1 wherein said step of searching and selecting includes the steps of:
(h) determining the distance between each of said partial solutions stored in said database and an ideal solution serving as a goal in determining said recommended solution; and (i) selecting as candidates those of said partial solutions whose associated distance is a minimum value.
3. The method set forth in claim 1 wherein said step of generating said multiplicity ratio includes the steps of:
(h) responsive to a first one of said selected partial solutions, generating a plurality of multiplicity ratios;
(i) selecting as the multiplicity ratio for said first partial solution the integer portion of that one of said multiplicity ratios having the smallest value; and (j) repeating steps (h) and (i) for the remaining ones of said selected partial solutions.
4. The method set forth in claim 1 wherein said step of reducing said selected partial solutions to a single partial solution includes the steps of:
(h) generating a residual demand for each of said selected partial solutions;
(i) generating an evaluation ratio for each said demand;
(j) comparing the evaluation ratio for each of said selected partial solutions; and (k) responsive to the evaluation ratio having the smallest value, appending to the recommended solution the corresponding selected partial solution, residual demand and multiplicity value.
CA002063349A 1991-05-31 1992-03-18 Automated resource allocation system employing a learning arrangement Expired - Fee Related CA2063349C (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US07/708,582 US5289370A (en) 1991-05-31 1991-05-31 Automated resource allocation method employing a learning arrangement
US708,582 1991-05-31

Publications (2)

Publication Number Publication Date
CA2063349A1 CA2063349A1 (en) 1992-12-01
CA2063349C true CA2063349C (en) 1998-12-29

Family

ID=24846381

Family Applications (1)

Application Number Title Priority Date Filing Date
CA002063349A Expired - Fee Related CA2063349C (en) 1991-05-31 1992-03-18 Automated resource allocation system employing a learning arrangement

Country Status (4)

Country Link
US (1) US5289370A (en)
EP (1) EP0516333A3 (en)
JP (1) JPH05151192A (en)
CA (1) CA2063349C (en)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5991732A (en) * 1989-02-15 1999-11-23 Moslares; Andres Monedero Strategical-tactical logistic system
US5864822A (en) 1996-06-25 1999-01-26 Baker, Iii; Bernard R. Benefits tracking and correlation system for use with third-party enabling organization
US6430536B2 (en) * 1997-04-28 2002-08-06 General Electric Company Method and systems for asset management
US6336101B1 (en) * 1998-09-24 2002-01-01 International Business Machines Corporation Tracking of computer components allocated during configuration of computer systems and networks by a simplified user friendly configuration process
US6219649B1 (en) * 1999-01-21 2001-04-17 Joel Jameson Methods and apparatus for allocating resources in the presence of uncertainty
WO2001037138A2 (en) 1999-11-15 2001-05-25 Walgreens Co. Apparatus and method for accessing pharmacy information and ordering prescriptions
US6859927B2 (en) 1999-12-21 2005-02-22 Lockheed Martin Corporation Apparatus and method for controlling allocation of resources and task execution
US8321236B2 (en) 2002-02-01 2012-11-27 Walgreen Co. Method and apparatus for prescription processing
US20030179287A1 (en) * 2002-03-22 2003-09-25 Dejan Kozic System and method for providing pharmaceutical services to a plurality of remote sites from a central site
US20040172289A1 (en) * 2003-02-28 2004-09-02 Dejan Kozic Method and system for remotely verifying a prescription
US20060161467A1 (en) * 2005-01-14 2006-07-20 Tarun Kumar System and method for strategic budgeting of initial response for managing wildfires
US8315887B2 (en) * 2005-10-18 2012-11-20 Walgreen Co. System for separating and distributing pharmacy order processing for specialty medication
US7734478B2 (en) 2005-10-18 2010-06-08 Walgreen Co. Method and apparatus for inter-pharmacy workload balancing using resource function assignments
US8175891B2 (en) * 2005-10-18 2012-05-08 Walgreen Co. System for separating and distributing pharmacy order processing for compound medication
US8666780B2 (en) * 2005-10-18 2014-03-04 Walgreen Co. System for separating and distributing pharmacy order processing
US20070088569A1 (en) * 2005-10-18 2007-04-19 Walgreen Co. System for separating and distributing pharmacy order processing for prescription verification
US8311891B2 (en) * 2005-10-18 2012-11-13 Walgreen Co. System for separating and distributing pharmacy order processing for medication payments
US7765108B2 (en) 2005-10-18 2010-07-27 Walgreen Co. Method and apparatus for inter-pharmacy workload balancing
US20070088590A1 (en) * 2005-10-18 2007-04-19 Walgreen Co. System for separating and distributing pharmacy order processing for out of stock medication
US20080306761A1 (en) * 2007-06-07 2008-12-11 Walgreen Co. System and Method of Performing Remote Verification of a Prescription in Combination with a Patient Access Terminal
US8775198B2 (en) * 2007-07-25 2014-07-08 Walgreen Co. System and method for performing a remote verification of a pharmacy fill utilizing an image to image comparison
US8145501B1 (en) 2008-10-09 2012-03-27 Walgreen Co. System and method for performing pharmacy product filling using non-registered pharmacists
US7941325B2 (en) * 2008-11-14 2011-05-10 Walgreen Co. System and method of using a non-retail central filling facility to process pharmacy product prescriptions in a pharmacy retail network
US8930896B1 (en) * 2010-07-23 2015-01-06 Amazon Technologies, Inc. Data anonymity and separation for user computation
US9268604B1 (en) 2012-12-11 2016-02-23 The Boeing Company Automated allocation of vehicle systems for different specified vehicle testing tasks
CN104376374B (en) * 2014-11-12 2017-07-18 南京南瑞继保电气有限公司 A kind of capacity Optimum Matching quick calculation method, equipment and computer-readable storage medium

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4163321A (en) * 1977-10-21 1979-08-07 Barr-Mullin, Inc. Method for sequencing the cutting of elongated stock
JPS6024647A (en) * 1983-07-20 1985-02-07 Hitachi Ltd Autonomous resource managing system of system
JPS6140643A (en) * 1984-07-31 1986-02-26 Hitachi Ltd Resource allocation control method of system
US4885686A (en) * 1987-01-12 1989-12-05 American Telephone And Telegraph At&T Bell Laboratories Methods and apparatus for efficient resource allocation
US4947322A (en) * 1987-04-20 1990-08-07 Hitachi, Ltd. Method of managing layout of goods
US5128860A (en) * 1989-04-25 1992-07-07 Motorola, Inc. Manufacturing or service system allocating resources to associated demands by comparing time ordered arrays of data
US5077661A (en) * 1989-05-03 1991-12-31 Hewlett-Packard Company Assignment-dependent resource allocation method
US5235508A (en) * 1990-05-31 1993-08-10 At&T Bell Laboratories Automated resource allocation cutting stock arrangement using random cut patterns

Also Published As

Publication number Publication date
US5289370A (en) 1994-02-22
EP0516333A3 (en) 1994-12-21
JPH05151192A (en) 1993-06-18
CA2063349A1 (en) 1992-12-01
EP0516333A2 (en) 1992-12-02

Similar Documents

Publication Publication Date Title
CA2063349C (en) Automated resource allocation system employing a learning arrangement
Zhang et al. Using genetic algorithms in process planning for job shop machining
Gradišar et al. A sequential heuristic procedure for one-dimensional cutting
Gradišar et al. Optimization of roll cutting in clothing industry
Irani et al. Tolerance chart optimization
US5926825A (en) Article layout device for automatically making layout of multi-column documents
US6226656B1 (en) System and method for creating, generating and processing user-defined generic specs
JPH04232502A (en) Method and apparatus for allocating restricted common resource
WO2000063822A2 (en) System and method for optimizing the allocation of a resource
Yavuz et al. A kanban-based simulation study of a mixed model just-in-time manufacturing line
JPH06203054A (en) Alternative component allocating method and its device
Sipper et al. JIT vs. WIP—a trade-off analysis
Adlakha et al. An alternative solution algorithm for certain transportation problems
CN115049332A (en) Network inventory information determining method of warehousing network and electronic equipment
Yu et al. An introduction of network complexity
Çimren et al. Development of a machine tool selection system using analytic hierarchy process
Duncan et al. Interrupt and opportunistic replacement strategies for systems of deteriorating components
Ayed et al. Optimal integrated maintenance production strategy with variable production rate for random demand and subcontracting constraint
Ozdamar The cutting-wrapping problem in the textile industry: optimal overlap of fabric lengths and defects for maximizing return based on quality
Johnston A direct combinatorial algorithm for cutting stock problems
Shtub Estimating the effect of conversion to a group technology layout on the cost of material handling
Ribeiro et al. Selective maintenance for multi mission oriented systems
Pourbabai A just-in-time/group technology based scheduling model
JP2002014714A (en) Method and device for planning resource allocation
Schneeweiss Construction and selection of quantitative planning models—a general procedure illustrated with models for stock control

Legal Events

Date Code Title Description
EEER Examination request
MKLA Lapsed