  We consider a physical asset consisting of complex systems, where the systems
may require upgrades during the lifetime of the asset. In practice, the asset
owner and system supplier can make the upgrade decisions together, requiring a
decision support model that can be jointly used to optimize the total benefit
for both parties. Motivated by a real-life use case including an asset owner
and a system supplier, we build a continuous-time model to optimize the upgrade
decisions of a system during the fixed lifetime of the asset. In our model, we
capture the key critical factors that drive the upgrade decisions: increasing
functionality requirements due to evolving technology, age-dependent
maintenance costs, a predetermined overhaul plan of the asset, and the lifetime
of the asset. A system upgrade is less costly if it is executed jointly with an
asset overhaul. We first analyze the case with no additional cost of upgrading
outside an overhaul. We analytically characterize the structure of the optimal
upgrade policy under various realistic assumptions that lead to different types
of cost functions. We then use these results as a building block to
characterize the optimal policy for a generalized cost function. When there is
a penalty for upgrading outside an overhaul moment, we propose a dynamic
programming approach that efficiently determines the optimal upgrade policy by
using our analytical results. We also prove that as this penalty increases, the
optimal policy can only change to one where the number of upgrades not jointly
executed with overhauls is reduced. However, the optimal number of upgrades is
a non-increasing function of this penalty. Also surprisingly, more overhauls
may lead to a smaller number of upgrades under the optimal policy.
