Optimize nonlinear model over time period (w/ Kuhn-Tucker Conditions)

201 Views Asked by At

I'm working on a nonlinear model that includes a time interval of 12 months. The goal is to maximize the total net benefit (NB) over the entire time period given the constraints listed below. I've worked out the first order conditions but am not sure if they are correct or if this is the appropriate way to optimize the model.

Do these first-order conditions hold using Kuhn-Tucker conditions? Or is there a better way to approach this problem? Can these first order conditions be further solved or interpreted?

Problem


\begin{equation} \max_{H_t,S_t} NB = \sum_{t=1}^{T} [P_t H_t D_t - c_s S_t - c_h H_t] \end{equation}

\begin{equation} S_t = \{0,1\} \end{equation}

\begin{equation} \zeta_t = \zeta_{t-1} - H_{t-1} \end{equation}

\begin{equation} H_t \leq a_t Z \end{equation}

\begin{equation} H_t \geq 0 \end{equation}

\begin{equation} NB \geq 0 \end{equation}

Lagrangian


\begin{equation} \mathcal{L} = \sum_{t=1}^{T}(P_{t}H_{t}D_{t}-c_{s}S_{t}-c_{h}H_{t}) - \lambda_{1}(\sum_{t=1}^{T}P_{t}H_{t}D_{t}-c_{s}S_{t}-c_{t}H_{t})-\lambda_{2}(\sum_{t=1}^{T}\zeta_{t-1}-H_{t-1}-\zeta_{t})+\lambda_{3}(\sum_{t=1}^{T}H_{t}-\alpha_{t}Z)+\lambda_{4}(\sum_{t=1}^{T}H_{t}) \end{equation}

First-order Conditions


\begin{equation} \mathcal{L}_{H} = \sum_{t=1}^{T}NB_{H} - \lambda_{1}(\sum_{t=1}^{T}P_{t}D_{t}-C_{t})+\lambda_{2}+\lambda_{3}+\lambda_{4} = 0 \end{equation}

\begin{equation} \mathcal{L}_{S} = \sum_{t=1}^{T}NB_{S} - \lambda_{1}(c_{s}) = 0 \end{equation}

\begin{equation} \mathcal{L}_{\lambda_{1}} = \sum_{t=1}^{T}P_{t}H_{t}D_{t}-c_{s}S_{t}-c_{t}H_{t} \geq 0 \end{equation}

\begin{equation} \mathcal{L}_{\lambda_{2}} =\sum_{t=1}^{T} \zeta_{t-1}-H_{t-1}-\zeta_{t} \geq 0 \end{equation}

\begin{equation} \mathcal{L}_{\lambda_{3}} = \sum_{t=1}^{T}H_{t}-\alpha_{t}Z \geq 0 \end{equation}

\begin{equation} \mathcal{L}_{\lambda_{4}} = \sum_{t=1}^{T}H_{t} \geq 0 \end{equation}

1

There are 1 best solutions below

1
On

Unfortunately, I was not able to give a comment. First, let's discuss your problem. You defined your function $NB$ again via $NB$ (the last constraint). This is a wrong way. Why instead do not solve your problem without the last constraint and then check if $NB\geq 0$. Since you solve a maximization problem, you will got the same answer if your original problem was feasible at all.

Next, the second constraint, what does it mean? These are just some relations on $\zeta_t$ which your function does not use. Are you sure that you need them?

Third, the first constraint. Note that $S_t$ are discrete variables and theoretically it would make your problem much harder. However, you do not have any other constraints with $S_t$ which means that you can in advance define $S_t$. If $c_s>0$ then because of the maximization you will get $S_t=0$, otherwise $S_t=1$.

Note that your problem is linear on $H$, so you have just a linear programming problem, for which there exist lots of dedicated solvers.