Nuclear medicine imaging uses low-level radioactive compounds, or radionuclides, to generate images of internal patient volumes. Specifically, radionuclides are introduced into a patient and absorbed by organs, bones or tissues. A scanner detects gamma rays emitted by the absorbed radionuclides and an image is generated based on the detected gamma rays.
Radionuclides doses are typically produced by a radiopharmacy and delivered to customers (e.g., a nuclear medicine imaging center) according to pre-defined customer contract terms. Currently, a delivery optimizer determines a delivery schedule for all doses based on known delivery parameters, and on contracted radioactivity and ready-times of dose batches and of the individual patient doses allocated to each batch. Outputs from the delivery optimizer allow modelling of different production scenarios and dose allocation schemes to determine the impact on the delivery schedule and the total cost of delivery.
The foregoing production process is unsuitably inefficient and there is thus a need for systems providing improved integration of radionuclide production and delivery.
The construction and usage of embodiments will become readily apparent from consideration of the following specification as illustrated in the accompanying drawings, in which like reference numerals designate like parts, and wherein:
The following description is provided to enable any person in the art to make and use the described embodiments and sets forth the best mode contemplated for carrying out the described embodiments. Various modifications, however, will remain readily apparent to those in the art.
A delivery schedule is a collection of doses that are assigned to delivery vehicles and routed to customer locations. Delivery schedules are site-specific and based on geography and local customer requirements. Delivery schedules may vary depending on the day of the week and/or on seasonal ordering patterns. In addition, delivery schedules may require last-minute changes to accommodate patient change orders (i.e., new orders, cancellations, or modification of previous orders). Other constraints associated with delivery schedules include the number of available delivery vehicles, the capacity of each delivery vehicle, etc.
According to some embodiments, a batch optimizer allocates individual doses to batches in order to most-efficiently utilize each batch. The batch optimizer simultaneously minimizes costs associated with batch production as well as costs associated with dose delivery. The starting points for the batch optimizer are a user-defined series of batches and a collection of individual patient doses for each batch that have been manually assigned to each batch by the user. The output of the batch optimizer is the same as the output of the aforementioned delivery optimizer and also includes the optimized dose allocations to each batch, along with the ability for the user to accept the optimized allocations.
Some embodiments provide a multi-stage stochastic programming model, for optimization of a radionuclides supply chain, which supports model uncertainties, soft operational constraints and hard physical constraints on decision variables, and approximation of the nonlinear model into a mixed-integer linear model for which open-source and commercial solvers exist. The models are written in a manner that exhibits their sparse structure, which can be exploited to decrease its computational complexity and memory footprint.
Also, regarding the notation used below, if x is a variable, then x and XY denotes the index set of the corresponding objects. For example, ND is the two-letter mnemonic for the class of nodes, and
ND denotes the index set of nodes. If
denotes some edge of the delivery network, then o(
) and d(
) denote the origin node and destination node, respectively, of
. If t denotes a trip, then o(t) and d(t) denote the origin node and destination node, respectively, of t. The symbol IkCM denotes the index set of fixed customer sites (i.e. k=1), and mobile customer sites (i.e. k=2). The symbol ItcTR denotes the index set of allowed times for trip t to arrive at customer site c. The symbol IkVH denotes the index set of internal vehicles (i.e. k=1), and external vehicles (i.e. k=2). The symbol IkDS denotes the set of unit-dose syringes (i.e. k=2) and multi-dose vials (i.e. k=2). Other symbols with a narrower scope are defined below.
Returning to
dq
t
=−λq
t
dt, (1)
where λ denotes the decay constant of the radionuclide, respectively.
From (1), we can determine the radioactivity lost to radioactive decay over a time interval. For example, based on the radioactivity in a unit dose syringe qINJ at the time of injection tINJ, the radioactivity at the end of synthesis qEOS is:
q
INJ
=g
EOSexp(−λ(tINJ−tEOS)) (2)
From (2), we derive qEOS as follows:
q
EOS
=q
INJ
e
λ(t
−t
). (3)
Cyclotron Process
A cyclotron is a type of particle accelerator; i.e. a device that utilizes electromagnetic fields to propel charged particles to high speeds and to contain them in well-defined beams. As depicted in
A manufacturing facility may include one or more cyclotrons. Each cyclotron generates two beam lines, so a cyclotron may bombard one or more targets. Thus, it is possible to use any combination of targets to produce a single product batch. However, if a cyclotron performs a dual bombardment, the targets must be on different beamlines. It is not possible to simultaneously bombard two targets on the same beamline.
The target loading process of
The beam current is a measure of the proton flux on a target and may range from 10 μA to 80 μA. The end of bombardment (EOB) occurs when the beam current is set to zero. If two targets are used in the bombardment process, the EOB will be the same for both targets. The bombardment time is the length of time between the BOB and the EOB. The bombardment time may range from 5 minutes to 4 hours. The saturation yield of a target represents the theoretical maximum amount of 18F-fluoride ion that may be produced by a target. The saturation yield depends on the beam energy of the cyclotron and may range from 70 mCiμA−1 to 260 mCiμA−1.
The radioactivity of 18F-fluoride ion produced in a target is given by:
q
F
=i
BC αSY EN·(1−e−λt
q
Ftω
TG
=i
BCtω
TGπSYtω
where qF denotes the radioactivity of 18F-fluoride ion, iBC denotes the beam current, αSY denotes saturation yield for the target, EN denotes the enrichment of the 18O-water and tBOMB denotes the bombardment time.
The bombardment time, the beam current, the 18O-water enrichment and the saturation yield may be different for each target. The bombardment time and beam current may be adjusted on a batch-to-batch basis in order to produce the required radioactivity of 18F-fluoride ion. The saturation yield of a target does not change on a batch-to-batch basis.
The cost of materials in a batch due to the 18O-water increases with the radioactivity of 18O-water used in the target and the number of targets used in the bombardment. The cost due to 18O-water also depends on the enrichment. The cost of materials is not affected by beam current, bombardment time, or the saturation yield. The cost of labor increases with the bombardment time due to indirect labor costs.
According to some embodiments, a batch optimizer component determines the number of targets, the beam current, the BOB and the bombardment time for each target used in a batch.
Target Unload Process
The 18F-fluoride ion produced by each target is consolidated into a single solution during the unload process of
q
FTOTAL
=q
F1
+q
F2
e
−λt
+q
F3
e
−λt
+q
F4
e
−λt
(6)
where qFTOTAL denotes the total radioactivity of 18F-fluoride ion decay corrected to the EOU, qF1 denotes the radioactivity of 18F-fluoride ion produced in the last target unload, qF2, qF3, qF4 represent the radioactivity of 18F-fluoride ion at the end of earlier target unloads, and tF2, tF3, tF4 represent the time interval between an earlier target unload and the EOU.
Target Reload Process in Preparation for Another Bombardment
After completing the unload process, a target may be immediately reloaded in preparation for another bombardment. The time required for the reload process is the same as the time for the original target load process. After the target is reloaded, the beam may be started on the target and the next BOB will occur after the beam tuning process. This represents the earliest time the target is available (ETA) for the next BOB. In the case of a dual bombardment, the next BOB for both targets is the latest time that either target is available. The beam may be started as soon as the targets for the next batch have been reloaded.
18F-Fluoride Ion Transfer Process
After the target unload process is complete, the solution of 18F-fluoride ion in the collection vial is transferred to the chemistry module. Regardless of the number of targets, there is only one transfer process for each batch of product. A small percentage of the total 18F-fluoride ion is lost during the transfer process. The time when the 18F-fluoride ion transfer process is complete is defined as the beginning of synthesis (BOS). The radioactivity of 18F-fluoride ion at the BOS is given by:
q
BOS
=q
FTOTAL(1−nα)e−λt
where qBOS denotes the radioactivity of 18F-fluoride ion at the BOS, n denotes the number of targets, α is the fractional percentage lost during the unload process, and tTRAN is the time interval between completing the target unload process and the BOS.
The fractional percentage of radioactivity lost and the transfer time may be generalized as the same for all targets at a manufacturing facility.
Chemistry Module
A manufacturing facility may have one or more chemistry modules. A chemistry module may be capable of making up to four batches of product. For chemistry modules with this capability, the module may only produce batches sequentially (i.e., it is not possible for a chemistry module to simultaneously prepare more than one batch of product).
After the 18F-fluoride ion transfer process is complete, a chemistry module converts the available 18F-fluoride ion into the PET drug of interest. A percentage of the 18F-fluoride ion is lost during the chemistry process. This percentage is known as the percent yield of the chemistry process. The time at which the chemistry process is complete is referred to as the end of synthesis (EOS). The radioactivity of the product at the EOS is given by:
q
EOS
=q
BOS
PYe
−λt
(8)
where qEOS denotes the radioactivity of product at the EOS, PY denotes the percent yield of the process, and tCHEM is time interval between the EOS and the BOS (i.e., the synthesis time).
Each PET drug product has a unique percent yield and synthesis time. The percent yield and synthesis time may vary at each manufacturing facility. The percent yield and synthesis time are constant for each batch of product at a manufacturing facility. The cost of materials and labor for the chemistry process includes the costs associated with production and QC testing. Materials and labor costs are constant for each batch, but are different for each product.
Cleaning and Preparation for Another Batch
A chemistry module is associated with a clean time that defines the ETA until the module may be used again for another batch of product. The clean time may also include a time period required for radioactive decay of residual radioactivity to allow manual intervention in preparation for the next batch. After expiration of the clean time, a chemistry module may be used in preparation of another batch of product. This cleaning/preparation time may be unique for each product at a manufacturing facility.
Quality Control Testing
After the chemistry process is complete, the product is sampled for purposes of quality control (QC) testing. This sample is a percentage of the product resulting from the chemistry process. The remaining radioactivity of the product is available for dose dispensing. The radioactivity of product available for dose dispensing, decay corrected to the EOS, is given by:
q
DISP=(1−β)qEOS (9)
where qDISP denotes the radioactivity of product available for dose dispensing, and β denotes the percentage of the product used in the sample.
Each PET drug has a unique sample percentage and sampling time. The sample percentage and the sampling time may vary at each manufacturing facility. The sample percentage and the sampling time are constant for each batch of product at a manufacturing facility.
After the sample has been removed from the product, the QC process is performed and the dose dispensing process may begin on the remaining product, qDISP. Each PET drug has a unique QC process time. The QC process time may vary at each manufacturing facility. The QC process time is constant for each batch of product at a manufacturing facility.
Dose Dispensing
The dose dispensing process may be executed simultaneously with the QC process. The dispensed doses may not be released from the manufacturing facility until after the QC process is complete and the batch meets all QC release criteria. The dose dispensing process may be used to prepare either multi-dose vials or unit-dose syringes for distribution. The aggregate, decay-corrected radioactivity of all dispensed doses cannot exceed qDISP. This relationship is given by:
q
DISP
≥Σq
DOSE
e
−λ(t
) (10)
where qDOSE denotes the radioactivity of product in an individual dose at the injection time, tDOSE is the time interval between the injection time and the EOS, and the summation is over all doses assigned to the batch.
Production constraints are initially determined at S310. According to some embodiments, the production constraints are determined based on parameters, continuous variables and discrete variables as listed above. Production constraints may be modeled to support various products, each of which has a unique half-life, manufacturing cost and manufacturing time (e.g., FDG, Amyvid, NaF, NH4, FLT, and Lantheus). According to some embodiments, production constraints may include cyclotron contraints, chemistry block constraints, quality control block constraints, and dose dispensing constraints.
Cyclotron Constraints
Production constraints may include constraints directly related to the cyclotron(s) used to bombard the target(s). The number of targets produced per run determines the output and cost of a batch. A cyclotron has fixed minimum-up and minimum-down times, so the output radioactivity of a product depends on the duration of bombardment (i.e., the time interval between EOB and SOB).
Production constraints (11) below model the minimum-up time and minimum-down time constraints of a cyclotron. Constraint (11a) defines the number of time increments that a cyclotron t has been on-line at the end of time interval k. Constraint (11b) defines the number of time increments that a cyclotron t has been off-line at the end of time interval k. By definition, xONtkω
x
ONtkω
TG=(yONt(k−1)ωTG, ∀k ∈
TM, ∀ω ∈
SC, (11a)
x
OFtkω
TG=(1−yONt(k−1)ωTG, ∀k ∈
TM, (11b)
(xONt(k−1)ωTG, ∀k ∈
TM, (11c)
(xOFt(k−1)ωTG, ∀k ∈
TM, (11d)
y
STtkω
TG
−y
SDtkω
TG
=y
ONtkω
TG
−y
ONt(k−1)ω
TG
, ∀t ∈
TG
, ∀k ∈
TM, (11e)
y
STtkω
TG
+y
SDtkω
TG≤1, ∀t ∈ TG, ∀k ∈
TM, (11f)
x
RAtkω
TG
−x
BCtkω
TGπSYtω
∀t ∈ TG, ∀k ∈
TM. (12a)
xRAckω xRAtkω
CY, (12b)
x
RAtkω
TG
=x
OFtkω
TG
y
ONtkω
TG
+x
OFtkω
TG
y
ONtkω
TG (13a)
The following constraints, equivalent to (12a), may be used to compute xRAtkω
{tilde over (x)}
tkω
TG
={tilde over (x)}
t(k−l)ω
TGexp(−πDRr(t)ω
xRAtkω
Chemistry Block Constraints
As described above, a chemistry block synthesizes one product batch from the cyclotron-produced targets. A batch is therefore a collection of targets. Constraint (15a) below determines the radioactivity of a batch as the sum of activities over all combined targets. Constraint (15b) ensures that the total radioactivity at a manufacturing site may not exceed a standard threshold. The number of chemistry boxes is site-dependent and product-dependent. A chemistry unit has a minimum duty-cycle, and the cost of chemistry is always constant per product. The time needed to complete chemistry is constant per product. The production plan may include a recommended radioactivity at EOS of each produced batch.
xRAbkωxRAtkω
CY, ∀b ∈
BH, ∀k ∈
TM (15a)
xRAbkω
BG, ∀k ∈
TM, (15b)
Quality Control Block Constraints
The quality control block tests the radionuclide product, as well as the raw materials and supplies used in the production of the product. The quality control block subtracts a fraction, say β, of the radioactivity from a synthesized batch. For notational symplicity, from here onward, we write xRAbkω
Dose Dispensing
Batches that successfully pass the quality control tests are dispensed into customer-ordered multi-dose vials or unit-dose syringes for distribution. The aggregate radioactivity over all unit dose syringes and all multi-dose vials dispensed from a given batch is less than the radioactivity of the batch. Constraint (16c) ensures that EOB time of a unit dose syringe u coincides with one EOB time of the assigned cyclotron c(u). Constraint (16d) determines the EOB time of each dose, and constraint (16b) ensures that each dose is assigned to one batch.
xRAbωxETuω
BH, (16a)
yCYdbω
DS, (16b)
y
SDt(d)kω
TG
≥y
ETdkω
DS
, ∀d ∈
DS
, ∀k ∈
TM, (16c)
xETdωyETdkω
DS, (16d)
Returning to process 300, distribution constraints are determined at S320 after determination of the production constraints at S310. The determined distribution constraints may also be based on parameters, continuous variables and discrete variables.
Distribution constraints according to some embodiments account for two classes of couriers: external couriers (e.g., UPS, BDS, Carefree, and MDS) and internal couriers. By contract, each courier may service a given set of pharmacy and customer locations. A vehicle will be associated with a route and delivery to a specified number of customer locations. Each vehicle has a maximum weight capacity. Maximum time from EOS to injection time is 11 hours (e.g., for FDG). The times will vary based on product. Each vehicle is allowed to carry a maximum level of radioactivity in each route (i.e., according to its radioactive material (RAM) license). Since the radioactivity decreases while enroute due to radioactive decay, this maximum level is compared with the total of the radioactivity of each container at the beginning of the route (i.e., at the production facility).
The constraints may utilize an average (i.e., average pigs per case) to determine the number of shipped cases. The cases should arrive 15 to 60 minutes before injection time (the actual time may differ from contract to contract). The model shall recommend the packing of each route based on customer data, the ready time of each shipment, and the delivery time of each shipment. In the case of some pharmacies, it is necessary for the vehicle to return to the pharmacy to drop off empty cases and return keys. The vehicle may need to arrive earlier in a customer location (e.g., to clear specific security requirements). Depending on the location this early arrival may vary between 0-X minutes, and is taken into consideration in calculation of the radioactivity, optimal routes and delivery times. Some embodiments further determine delivery constraints related to air freight.
Constraints (17) below enforce route consistency, for all i ∈ ND.
A route is not defined by the actual road segments traveled by a vehicle. In other words, a route may have more than one road segment options.
A delivery schedule is said to be non-preemptive if, once a vehicle starts a trip, the vehicle must complete the trip before starting another trip. A schedule is feasible only if it is non-preemptive and each vehicle is assigned to at most one trip at a time t.
Constraint (18a) ensures that each trip is assigned to at most one vehicle. Constraint (18b) ensures that the delivery schedule is non-preemptive. Constraints (18c) and (18d) ensure that an external vehicle is assigned to a trip only if no internal vehicle is available at time k. In other words, internal vehicles are preferred by requirement.
yVHtvω
TR, (18a)
x
CTjω
TR
y
DRtjdω
≥x
CTt
ω
y
DRt
dω
+x
DBt
ω
y
DRt
dω
, or
x
CTt
ω
y
DRt
dω
≥x
CTt
ω
y
DRt
dω
+x
DBt
ω
y
DRt
dω
,
∀tj, tk ∈ TR, tj ≠ tk, ∀v ∈
VH, (18b)
yIVkωTRyVHtvω
TR, (18c)
yVHtvωTR, ∀v ∈
2VH, (18d)
y
ANtnkω
=y
BNtnkω
TR
−y
BNtn(k−1)ω
TR (18e)
Next, at S330, customer constraints are determined based on parameters, continuous variables and discrete variables. There are two types of customers according to some embodiments: (i) fixed customers, and (ii) mobile customers. Let 1CM and
2CM denote the index sets of fixed and mobile, respectively, customers. The union of
1CM and
2CM is the index set of all customers, denoted
CM. A customer location is fixed at the time of dose ordering. A customer location is thus associated with one node in the supply chain network. Contractually, all customers must submit their dose orders by 5 PM for next-day delivery. In practice, customers may submit orders after 5 PM for next-day, or even same-day, delivery.
where u denotes the Heaviside (or unit-step) function. Constraint (19a) ensures that the absolute difference between the optimized and ordered radioactivity at the ordered injection time of a dose does not exceed a standard threshold (e.g. 10%). Constraint (19b) enforces the earliest and latest dose delivery time requirement. Constraint (19c) ensures that the radioactivity of non-injected doses at a customer site does not exceed a threshold, as determined by the RAM license.
Doses are distributed in containers called cases. A case may contain 1, 2, or 3 doses. Some customers (e.g., imaging center personnel) prefer cases with 1 or 2 pigs, due to their lower weight and limits on the customer's staff. We shall assume the presence of an unlimited number of cases that will be used to deliver the doses to the customer locations.
yCAdcω
DS, (20a)
yCAdcω
CS, (20b)
yVHcvω
CS, (20c)
yVHcvω
CS, (20d)
Constraint (20a) ensures that each dose is assigned to one case. Constraint (20b) enforces the maximum number of doses that a case may contain. Each multi-dose vial is packaged in a single case. Constraint (20d) ensures that each case is assigned to a trip.
Mobile customers use cases of similar weight that may however differ in shape. Although currently not the case, it is possible that some restriction on shape may be necessary. Mobile customers may be treated as fixed customers. Each mobile customer will be associated with a ship-to number based on the location at which they will receive orders.
An objective function is determined at S340 based on the determined production constraints, distribution constraints and customer constraints. The objective function is to minimize the expected total production and delivery costs. The delivery costs comprise stop fees, mileage costs, fuel surcharges, and toll way fees. The production costs encompass cyclotron setup costs and target costs. According to some embodiments, using the constraints determined as described above, an objective function is as follows:
The term in (21a) represents total mileage cost, the term in (21b) represents total stop fe, and the term in (21c) represents total production cost. Total production cost consists of a fixed or start-up cost (i.e., first term in (21c)) and a variable cost based on the produced radioactivity (i.e. second term in (21c)).
Toll-way fees are implicitly included in the proposed model via the network branches and their associated costs. For example, two branches may be added between two nodes, one with toll-way fee, and the other without a toll-fee.
The main variable-cost of a production inventory is the cost of 18O radionuclide. The cyclotron is associated with a set-up cost (to be included in the cost of a batch), and the distribution costs are: stop fees, mileage costs, fuel surcharges, and toll way fees. Internal vehicle costs will be calculated via the above parameters and represented as a courier. Internal vehicles are to be assigned before external vehicles. The stop fee is a contractual fixed cost, per customer, per delivery location. The mileage cost is a linear function determined by the associated rate and actual distance travelled. The mileage rate is determined by the courier and stated in the contract. Given a route, the actual distance travelled by a delivery vehicle is a random variable, which may be assumed as an average value based on previous data. The fuel surcharge depends on the cost of gasoline, and is determined by the prevailing national rate. The stop fee is a fixed cost per customer location per stop. The toll-way fee is a fixed cost per toll way.
Accordingly, at S350, values of each discrete and continuous variable of the objective function are determined so as to minimize the objective function, based on given (i.e., known) parameter values. The determined variable values constitute variables of a production plan and a delivery schedule.
Next, as shown in
Systems for implementing the minimization operation of module 420 are known in the art. Such systems may present significant computational complexity. Accordingly, process 500 of
Steps S510 through S540 may proceed similarly to steps S310 through S340 of process 300, and descriptions thereof will therefore not be repeated. At S550, however, a mixed-integer linear model is determined based on the objective function. Determination of the mixed-integer linear model may comprise conversion of nonlinear constraints such as the minimum uptime and and downtime constraints, and the maximum and minimum radioactivity output constraints, into multi-stage stochastic mixed-integer linear constraints. Moreover, the nonlinear startup cost constraint is discretized into a linear function of the offline time of a target. A linear off-time counter is derived as a byproduct. Nonconvex variable cost functions are also expressed as piecewise mixed-integer linear functions.
In order to linearize product terms, every monomial whose total degree with respect to continuous variables is less than or equal to one is replaced with a set of mixed-integer linear equality or inequality constraints. For example, let x and y be continuous scalar variables, u, v and w be binary scalar variables, and i, j, k, m, and n be nonnegative integers. The total degree with respect to continuous variables of the monomial xiyjukvmwn is equal to i+j.
For example, the mixed-integer constraint z=xy, where x is a bounded continuous variable and y is a binary variable, is equivalent to the following mixed-integer linear constraints:
yx≤z≤y
(1−y)x≤x−z≤(1−y)
Constraint (22a) ensures that z is zero if y is zero. Constraint (22b) ensures that z is equal to x if y is 1. The mixed-integer constraint z=xy, where both x and y are binary variable, is equivalent to the following mixed-integer linear constraints:
z≤x, (23a)
z≤y, (23b)
z≥x+y−1. (23c)
Constraints (23a) and (23b) ensure that z is zero if x is zero or y is zero. Constraint (23c) ensures that z is equal to 1 if both x and y are zero.
The mixed-integer constraints (11) may be converted nto the following equivalent mixed-integer linear form:
Constraint (24a) enforces the minimum uptime constraints for every target t that has been online at period 0 for a time period not exceeding their minimum up time. Constraint (24b) enforces the minimum uptime logic for all sets of consecutive periods of size πUTtω
With respect to radioactivity production and decay, the following mixed-integer linear approximation may be used to support occasional cases in which a variable beam current may be applied to target:
x
RAt(k−1)ω
TG
−x
RAtkω
TG≤πRDtωTG, ∀k ∈
TM, (26a)
x
RAtkω
TG
−x
RAt(k−1)ω
TG≤πRUtωTG, ∀k ∈
TM (26b)
xRAtkωTG, ∀k ∈
TM (26c)
The following miscellaneous production constraints enforce the feasibility of the offline and online states, and state transitions (e.g. a target may not online and offline at the same time).
y
STtkω
TG
−y
SDtkω
TG
−y
ONtkω
TG
+y
ONt(k−1)ω
TG=0, ∀t ∈ TG, ∀k ∈
TM, (27a)
y
STtkω
TG
+y
SDtkω
TG−1≤0, ∀t ∈ TG, ∀k ∈
TM. (27b)
The following constraints define the number of time increments that a target has been online:
x
ONtkω
TG
≤x
ONt(k−1)ω
+1, (28a)
x
ONtkω
TG+(
x
ONtkω
−
ONtkω
TG
y
ONtkω
TG≤0, (28c)
xONtkω
Constraints (28) define that the online time counter, of a target t at time k, is incremented by 1 if target t is online at time k; otherwise the said time counter is set to zero.
The following constraints define the number of time increments that a target has been offline:
xOFtkω
x
OFtkω
TG+(
x
OFtkω
TG
−
OFtkω
TG(1−yOFtkω
xOFtkω
Constraints (29) define that the offline time counter, of a target t at time k, is incremented by 1 if target t is offline at time k; otherwise the said time counter is set to zero.
The mixed-integer linear model is solved at S560. The solving is performed based on known parameter values to determine values of the constraint variables which result in a minimized (i.e., minimized to an acceptable degree) mixed-integer linear model. The variables are then used to determine a production plan and a delivery schedule as described above. Advantageously, an instance of the mixed-integer linear model's linear relaxation can be solved using a stochastic dual dynamic programming method provided by commercial solvers (e.g. CPLEX, Gurobi). Such solvers may leverage the sparse structure of the mixed-integer linear model to provide more-efficient computation than would otherwise be possible.
Storage device 720 stores processor-executable program code of an optimizer. The optimizer may be executed to determine a delivery schedule and a production plan based on parameter values as described herein. The determination is based on the aforementioned production constraints, distribution constraints, customer constraints, and objective function. The parameter values may be stored in storage device 720 as shown and/or may be received from another computing device or from terminal 730 of system 700.
Determination of the production plan and the delivery schedule may be based on a mixed-integer linear model as described above with respect to process 500. In such a case, the optimizer may utilize processor-executable program code of a MILP solver also stored in storage device 720.
System 700 may comprise any combination of computing hardware that is or becomes known. In some embodiments, system 700 is a desktop computing system which performs all of the determinations described herein. In other embodiments, system 700 comprises a client-server architecture in which terminal 730 primarily functions as a user interface renderer and the determinations are performed by a remote server. System 700 may include other elements which are necessary for the operation thereof, as well as additional elements for providing functions other than those described herein.).
Those in the art will appreciate that various adaptations and modifications of the above-described embodiments can be configured without departing from the scope and spirit of the claims. Therefore, it is to be understood that the claims may be practiced other than as specifically described herein.