# US 12,112,284 B2 · Generating an optimized supplier allocation plan

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 12,112,284 B2
- Document ID: US12112284B2
- Status: Granted
- Kind: B2
- Application number: 15/876,694
- Filed: 2018-01-22
- Published: 2018-05-24
- Granted: 2024-10-08
- Earliest claimed: 2002-03-01
- Assignees: Blue Yonder Group, Inc.
- Applicants: JDA Software Group, Inc.
- Inventors: Vijay Krishnan Ganesan; Jian Yang; Gayle Lynne Hayes; Mark Richard Miller
- Web page: https://patentgrep.com/patent/US12112284B2

## CPC

- G06Q 10/06: Resources, workflows, human or project management; Enterprise or organisation planning; Enterprise or organisation modelling
- G06Q 10/0631: Resource planning, allocation, distributing or scheduling for enterprises or organisations
- G06Q 10/0637: Strategic management or analysis, e.g. setting a goal or target of an organisation; Planning actions based on goals; Analysis or evaluation of effectiveness of goals
- G06Q 10/06375: {Prediction of business process outcome or impact based on a proposed change}
- G06Q 10/087: Inventory or stock management, e.g. order filling, procurement or balancing against orders
- G06Q 10/0872: {using inventory planning}
- 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

## Abstract

Generating an optimized supplier allocation plan includes identifying parts and suppliers associated with an allocation problem, where each supplier can supply at least one part. One or more objective functions are selected. Each objective function has part variables, and each part variable represents a quantity of a part to be procured from a supplier. At least one constraint constraining at least one part variable is received. The one or more objective functions are optimized with respect to the at least one constraint to yield a value for each part variable. A quantity of each part to be procured from at least one supplier is determined according to the values to generate the optimized supplier allocation plan.

## Claims

### Claim 1

A system of supply allocation, comprising:
a system architecture having a mathematical model module, a solver, an object model module, a database and a computer, comprising a processor and memory, wherein the mathematical model module, the solver and the object model module further comprise JAVA BEAN components residing in a container, the computer configured to:
generate, using the mathematical model module based on data retrieved from the database, a mathematical model that represents objectives of an allocation plan by at least two objective functions, a supply quantity by a part variable, and a supply cost by a cost function;
solve, using the solver, the mathematical model for the at least two objective functions and restricted by one or more first constraints by:
weighting one or more values of a first objective function of the at least two objective functions;
weighting one or more values of a second objective function of the at least two objective functions; and
solving a combined objective function comprising weighted first and second objective functions; and
calculate, using the object model module, a quantity of parts to procure from at least one supplier based on the part variable of the solved mathematical model.

### Claim 2 (depends on 1)

The system of claim 1, wherein the one or more first constraints comprise a binary variable representing a requirement to procure parts from one or more suppliers matching a particular characteristic, and the mathematical model comprises a Boolean value indicating whether the at least one supplier matches the particular characteristic.

### Claim 3 (depends on 1)

The system of claim 1, wherein the computer is further configured to:
receive one or more second constraints that restrict solving the mathematical model for the at least two objective functions, wherein the one or more second constraints have a lower priority than the one or more first constraints;
determine whether the mathematical model can be solved for all constraints;
responsive to determining that the mathematical model cannot be solved for all constraints, solve the mathematical model without satisfying the one or more second constraints having the lower priority; and
responsive to the determination that the mathematical model can be solved for all constraints, solve the mathematical model for all constraints.

### Claim 4 (depends on 1)

The system of claim 1, wherein the computer is configured to solve the mathematical model for the at least two objective functions by:
determining a first normalization factor of a first objective function of the at least two objective functions;
determining a second normalization factor of a second objective function of the at least two objective functions;
normalizing the first objective function by the first normalization factor and the second objective function by the second normalization factor; and
solving a combined objective function comprising the normalized first objective function and the normalized second objective function.

### Claim 5 (depends on 1)

The system of claim 1, wherein the quantity of parts is a quantity of at least one of the following:
materials;
products; and
services.

### Claim 6 (depends on 1)

The system of claim 1, wherein at least one of the one or more first constraints comprises at least one of the following:
meeting a projected demand for every period;
avoiding a single sourcing of parts;
restricting the number of suppliers;
limiting spending for one or more suppliers;
limiting allocation for one or more suppliers;
limiting a percentage of spending for one or more suppliers;
setting a threshold requirement for supplier performance and risk; and
meeting minimum spending percentages for primary and secondary suppliers.

### Claim 7

A computer-implemented method, comprising:
generating, using a mathematical model module based on data retrieved from a database, a mathematical model that represents objectives of an allocation plan by at least two objective functions, a supply quantity by a part variable, and a supply cost by a cost function;
solving, using a solver, the mathematical model for the at least two objective functions and restricted by one or more first constraints by:
weighting one or more values of a first objective function of the at least two objective functions;
weighting one or more values of a second objective function of the at least two objective functions; and
solving a combined objective function comprising weighted first and second objective functions; and
calculating, using an object model module, a quantity of parts to procure from at least one supplier based on the part variable of the solved mathematical model, wherein the mathematical model module, the solver and the object model module further comprise JAVA BEAN components residing in a container.

### Claim 8 (depends on 7)

The computer-implemented method of claim 7, wherein the one or more first constraints comprise a binary variable representing a requirement to procure parts from one or more suppliers matching a particular characteristic, and the mathematical model comprises a Boolean value indicating whether the at least one supplier matches the particular characteristic.

### Claim 9 (depends on 7)

The computer-implemented method of claim 7, further comprising:
receiving one or more second constraints that restrict solving the mathematical model for the at least two objective functions, wherein the one or more second constraints have lower priority than the one or more first constraints;
determining whether the mathematical model can be solved for all constraints;
responsive to determining that the mathematical model cannot be solved for all constraints, solving the mathematical model without satisfying the one or more second constraints having the lower priority; and
responsive to the determination that the mathematical model can be solved for all constraints, solving the mathematical model for all constraints.

### Claim 10 (depends on 7)

The computer-implemented method of claim 7, wherein solving the mathematical model for the at least two objective functions comprises:
determining a first normalization factor of a first objective function of the at least two objective functions;
determining a second normalization factor of a second objective function of the at least two objective functions;
normalizing the first objective function by the first normalization factor and the second objective function by the second normalization factor; and
solving a combined objective function comprising the normalized first objective function and the normalized second objective function.

### Claim 11 (depends on 7)

The computer-implemented method of claim 7, wherein the quantity of parts is a quantity of at least one of the following:
materials;
products; and
services.

### Claim 12 (depends on 7)

The computer-implemented method of claim 7, wherein the at least one of the one or more first constraints comprises at least one of the following:
meeting a projected demand for every period;
avoiding a single sourcing of parts;
restricting the number of suppliers;
limiting spending for one or more suppliers;
limiting allocation for one or more suppliers;
limiting a percentage of spending for one or more suppliers;
setting a threshold requirement for supplier performance and risk; and
meeting minimum spending percentages for primary and secondary suppliers.

### Claim 13

A non-transitory computer-readable medium embodied with software, the software when executed by a computer, the computer comprising a processor and memory:
generates, using a mathematical model module based on data retrieved from a database, a mathematical model that represents objectives of an allocation plan by at least two objective functions, a supply quantity by a part variable, and a supply cost by a cost function;
solves, using a solver, the mathematical model for the at least two objective functions and restricted by one or more first constraints by:
weighting one or more values of a first objective function of the at least two objective functions;
weighting one or more values of a second objective function of the at least two objective functions; and
solving a combined objective function comprising weighted first and second objective functions; and
calculates, using an object model module, a quantity of parts to procure from at least one supplier based on the part variable of the solved mathematical model, wherein the mathematical model module, the solver and the object model module further comprise JAVA BEAN components residing in a container.

### Claim 14 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the one or more first constraints comprise a binary variable representing a requirement to procure parts from one or more suppliers matching a particular characteristic, and the mathematical model comprises a Boolean value indicating whether the at least one supplier matches the particular characteristic.

### Claim 15 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the software when executed further:
receives one or more second constraints that restrict solving the mathematical model for the at least two objective functions, wherein the one or more second constraints have lower priority than the one or more first constraints;
determine whether the mathematical model can be solved for all constraints;
responsive to determining that the mathematical model cannot be solved for all constraints, solve the mathematical model without satisfying the one or more second constraints having the lower priority; and
responsive to the determination that the mathematical model can be solved for all constraints, solve the mathematical model for all constraints.

### Claim 16 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the software when executed solves the mathematical model for the at least two objective functions by:
determining a first normalization factor of a first objective function of the at least two objective functions;
determining a second normalization factor of a second objective function of the at least two objective functions;
normalizing the first objective function by the first normalization factor and the second objective function by the second normalization factor; and
solving a combined objective function comprising the normalized first objective function and the normalized second objective function.

### Claim 17 (depends on 13)

The non-transitory computer-readable medium of claim 13, wherein the quantity of parts is a quantity of at least one of the following:
materials;
products; and
services.
