You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
be-lcca/docs/updated_acquisition_algorit...

2.6 KiB

Updated Equipment Acquisition & Simulation Algorithm

This document outlines the refactored logic for equipment acquisition cost calculation and simulation forecasting, implemented in February 2026.

1. Timeline Definitions

The simulation follows a strict temporal alignment to ensure consistency across the fleet:

Parameter Value Description
Base Year 2015 The target year for all "Value of Money" (Net Present Value) calculations.
Forecasting Start 2015 The year from which future predictions and Economic Life reports begin.
Calculation Start 2014 The technical sequence start (seq = 0) used to establish an initial state.

2. Capital Cost Adjustment (Value of Money)

To account for the time value of money, both the Initial Acquisition Cost and the Replacement Cost are normalized to the 2015 Base Year using the project's inflation rate.

2.1 Adjustment Formula

The value of any cost V at a specific Year is adjusted to its equivalent value in 2015 using the following formula:

V_{2015} = \frac{V_{Year}}{(1 + r)^{(Year - 2015)}}

Where:

  • V_{2015} = Adjusted value in 2015 terms.
  • V_{Year} = Raw cost recorded in the database or Maximo.
  • r = Inflation rate (from lcc_ms_master, defaults to 0.05 if undefined).
  • Year = The year the cost was recorded (Y_{acq} or Y_{replace}).

2.2 Total Acquisition Cost

The total capital cost C_{total} stored in the master data is the sum of the adjusted initial cost and the adjusted first detected replacement cost:

C_{total} = \frac{C_{initial}}{(1+r)^{(Y_{acq} - 2015)}} + \frac{C_{replace}}{(1+r)^{(Y_{replace} - 2015)}}

3. Maintenance Cost Suppression Logic

A specific business rule is applied to prevent "double counting" or distorted maintenance records during major equipment replacement years:

3.1 Replacement Year Rule

In the first year where a replace_cost > 0 is detected in Maximo (Y_{replace}):

  • All Material Costs are set to 0.0.
  • All Labor Costs (and labor hours) are set to 0.0.

3.2 Logic Rationale

The replacement cost is treated as a capital expenditure (CAPEX) that restarts the equipment's life cycle. Standard maintenance (OPEX) for that specific year is ignored because the replacement action supersedes regular repair tasks.


4. Implementation Reference

The logic is primarily contained in:

  • src/equipment/service.py: check_and_update_acquisition_data() (Cost adjustments).
  • src/modules/equipment/insert_actual_data.py: query_data() (Timeline and cost suppression).