4.II.29I

Optimization and Control | Part II, 2008

State Pontryagin's maximum principle for the controllable dynamical system with state-space R+\mathbb{R}^{+}, given by

x˙t=b(t,xt,ut),t0,\dot{x}_{t}=b\left(t, x_{t}, u_{t}\right), \quad t \geqslant 0,

where the running costs are given by c(t,xt,ut)c\left(t, x_{t}, u_{t}\right), up to an unconstrained terminal time τ\tau when the state first reaches 0 , and there is a terminal cost C(τ)C(\tau).

A company pays a variable price p(t)p(t) per unit time for electrical power, agreed in advance, which depends on the time of day. The company takes on a job at time t=0t=0, which requires a total amount EE of electrical energy, but can be processed at a variable level of power consumption u(t)[0,1]u(t) \in[0,1]. If the job is completed by time τ\tau, then the company will receive a reward R(τ)R(\tau). Thus, it is desired to minimize

0τu(t)p(t)dtR(τ)\int_{0}^{\tau} u(t) p(t) d t-R(\tau)

subject to

0τu(t)dt=E,u(t)[0,1],\int_{0}^{\tau} u(t) d t=E, \quad u(t) \in[0,1],

with τ>0\tau>0 unconstrained. Take as state variable the energy xtx_{t} still needed at time tt to complete the job. Use Pontryagin's maximum principle to show that the optimal control is to process the job on full power or not at all, according as the price p(t)p(t) lies below or above a certain threshold value pp^{*}.

Show further that, if τ\tau^{*} is the completion time for the optimal control, then

p+R˙(τ)=p(τ)p^{*}+\dot{R}\left(\tau^{*}\right)=p\left(\tau^{*}\right)

Consider a case in which pp is periodic, with period one day, where day 1 corresponds to the time interval [0,2][0,2], and p(t)=(t1)2p(t)=(t-1)^{2} during day 1 . Suppose also that R(τ)=1/(1+τ)R(\tau)=1 /(1+\tau) and E=1/2E=1 / 2. Determine the total energy cost and the reward associated with the threshold p=1/4p^{*}=1 / 4.

Hence, show that any threshold low enough to carry processing over into day 2 is suboptimal.

Show carefully that the optimal price threshold is given by p=1/4p^{*}=1 / 4.

Typos? Please submit corrections to this page on GitHub.