Optimization of Preventative Maintenance Requests background cover

Optimization of Preventative Maintenance Requests

Optimize the timing of preventative maintenance requests to reduce costs and increase efficient operations

EDF

Hosted by

EDF

Requests principal

A production park requires periodic maintenance to ensure the availability of units and reduce the risk of forced shutdowns. We refer to this maintenance as Preventive Maintenance ReQuest (PMRQ). The cost of a PMRQ is related to the amount of time the production unit needs to be shut down to perform this maintenance, or to the resources, crew, and machines required for the PMRQ. In a PMRQ problem, the horizon is divided into time periods. Each PMRQ must be performed at a given frequency, with a certain tolerance. Note that the number of occurrences of a given PMRQ within the optimization period is not fixed, as the tolerance allows for postponing an occurrence of a PMRQ out the period.

PMRQ credited

When performing a large PMRQ, it is possible to realize smaller PMRQs without the need for extra time or resources, i.e., at a cost of 0. When PMRQ AA enables PMRQ BB to be performed at no cost, we say that BB is credited by AA. This credit is obtained when the two concerned PMRQs occur in the same year. The PMRQ problem involves:
  • deciding in which years to perform a set of PMRQs over a given horizon while
  • ensuring that frequency constraints are met for each PMRQ and
  • maximizing the amount of credit obtained.

Expected output and value function

A solution of a given instance is a binary matrix SitS_{it} of size #PMRQ×#Periods \#PMRQ \times \#Periods where its coefficient SitS_{it} is 1 if a maintenance on PMRQ ii was done at time tt and 0 otherwise. The value of the solution proposed is computed by taking all the credit relation and computing the credits obtained.

Instance definition

An instance is given by :
  • A set of PMRQs {PMRQ i}\{\text{PMRQ \,} i\} indexed by ii. We denote by NN the number of PMRQs.
  • Each PMRQ ii is endowed with the following properties :
    • A cost CiC_i
    • A frequency fif_i in years.
    • A tolerance ϵi\epsilon_i
    • An offset oio_i corresponding to the number of periods between the first year of the current optimization and the last occurrence of the PMRQ.
  • A set of credits crijcr_{ij} between PMRQs, where crij=1cr_{ij}=1 means that the maintenance of PMRQ ii is free if the maintenance of PMRQ jj is done at the same time period and crij=0cr_{ij}=0 otherwise.
  • A number of period TT to optimize on

Calculation of the cost and the credit obtained

The total cost of a maintenance is
t=1Ti=1NCiSit(1j=1NcrijSjt)\sum_{t=1}^T \sum_{i=1}^N C_i S_{it}(1-\sum_{j=1}^N cr_{ij}S_{jt})
The credit obtained during this maintenance corresponds to the second part of this equation
t=1Ti=1Nj=1NCicrijSitSjt\sum_{t=1}^T \sum_{i=1}^N \sum_{j=1}^N C_i \, cr_{ij} S_{it} S_{jt}
which is the objective function to maximise.

Toy Example

Here is an example with 4 PMRQs :
  • PMRQ 1 : o1=1o_1 = −1, C1=4C_1 = 4, f1=4f_1 = 4, ϵ1=1\epsilon_1 = 1
  • PMRQ 2 : o2=2o_2 = −2, C2=1C_2 = 1, f2=2f_2 = 2, ϵ2=0\epsilon_2 = 0
  • PMRQ 3 : o3=2o_3 = −2, C3=2C_3 = 2, f3=3f_3 = 3, ϵ3=1\epsilon_3 = 1
  • PMRQ 4 : o4=3o_4 = −3, C4=3C_4 = 3, f4=5f_4 = 5, ϵ4=2\epsilon_4 = 2
The credit are defined as:
  • PMRQ 1 credits PMRQs 2 and 4 (i.e the maintenance of PMRQ 2 and 4 can be done for free if the maintenance of PMRQ 1 is done at the same period)
  • PMRQ 3 credits PMRQs 2 (i.e. the maintenance of PMRQ 2 can be done for free if the maintenance of PMRQ 3 is done at the same period)
The number of periods is T=8T = 8.
Below is the matrix for a solution for this toy instance. This solution has a credit of 6:
  • PMRQ 1 credits PMRQ 2 and 4 for a total credit of 4 at period 5
  • PMRQ 3 credits PMRQ 2 for a total credit of 1 at period 3 and 7
PMRQ 100001000
PMRQ 210101010
PMRQ 300100010
PMRQ 400001000