Optimization of a Water Tank

GP > Posynomials | Standard Forms > Example: Water Tank Optimization | Applications

This is a simple example of a geometric programming problem, involving the construction and operating costs of a cylindrical liquid (say, oil, or water) storage tank. The parameters are the diameter d of the tank, and its height, h.

As seen here, the cost function of this problem is of the form

 C_{rm total}(d,h) = C_{rm fill}(d,h) + C_{rm constr}(d,h) = c_1 h^{-1}d^{-2} + c_2 d^2 + c_3 dh,

where c_1 := 4 alpha_1 V_{rm supp}/pi, c_2 = alpha_2 pi/4, c_3 = alpha_3 pi, and alpha_1,alpha_2,alpha_3 positive constants.

The constraints involve upper and lower bounds on the variables:

 0 < d le d_{rm max}, ;; 0 < h le h_{rm max}.

We might also have an upper bound kappa_{rm max} on the aspect ratio of the tank (the aspect ratio constraint is useful to take into account structural resistance to wind):

 h le alpha_{rm max} d.

Our GP takes the standard form

 min_{d>0,h>0} : c_1 h^{-1}d^{-2} + c_2 d^2 + c_3 dh ~:~ begin{array}[t]{l} 0 < d_{rm max}^{-1} d le 1, ;; 0 < h_{rm max}^{-1} h le 1  kappa_{rm max}^{-1} hd^{-1} le 1. end{array}

A CVX syntax for this problem is as follows.

CVX syntax
cvx_begin gp
      variables h d
      % objective function is cost
      minimize( c1/(h*d^2) + c2*d^2 + c3*d*h )
      subject to
        d <= dmax;
        h <= hmax;
        h/d <= alphamax;
cvx_end
alt text 

The (non-convex) cost function of the problem, corresponding to the values

 begin{array}{l} V_{rm supp} = 800,000 L, ;; alpha_1 = 10 : $,   alpha_2 = 6 : $ / m^2, ;; alpha_3 = 2: $ / m^2,   d_{rm max} = 20 m, ;; h_{rm max} = 30 m,   kappa_{rm max} = 3. end{array}

The optimum variables are d^ast = 14.8430 m, h^ast = 22.2656 m (optimal point shown in green on the plot). The optimal cost is C^ast = 5,1912 $.

The design constraints of the problem are pictured as a forbidden region, in white. The problem is effectively unconstrained, as the bounds on variables and aspect ratio are not active at optimum.

See also: