Objective

The objective is to minimize the following function:

$\displaystyle  \Variable{TotalCost} = \underset {\text {type} \in \text {TYPES}}{\sum _{\text {period} \in \text {PERIODS},}} (  $
$\displaystyle \Argument{unit\_ cost[type]} \cdot \Argument{length[period]} \cdot \Variable{NumWorking[period,type]}  $
$\displaystyle +  $
$\displaystyle \Argument{excess\_ cost[type]} \cdot \Argument{length[period]} \cdot \Variable{Excess[period,type]}  $
$\displaystyle +  $
$\displaystyle \Argument{startup\_ cost[type]} \cdot \Variable{NumStartup[period,type]})  $
$\displaystyle + \underset {\text {hydro} \in \text {HYDROS}}{\sum _{\text {period} \in \text {PERIODS},}} (  $
$\displaystyle \Argument{hydro\_ unit\_ cost[hydro]} \cdot \Argument{length[period]} \cdot \Variable{HydroNumWorking[period,hydro]}  $
$\displaystyle +  $
$\displaystyle \Argument{hydro\_ startup\_ cost[hydro]} \cdot \Variable{HydroNumStartup[period,hydro]})  $