Surface : Minimal-/Surface Problem


  • Neculai Andrei, Nonlinear Optimization Applications Using the GAMS Technology,Springer Optimization and Its Applications, Model Surface (3.10) in chapter Some Mathematical Algorithms and Problems in GAMS Technology, 2013

Category : GAMS NOA library

Mainfile : surface.gms

Minimal surface problem.
Find a function f that minimizes the array of its graph subject to some
constraints on the boundary of the domain of f.

Boyd, S., Vandenberghe, L., Convex Optimization, Cambridge University Press,
Cambridge, 2004.

SET X /I1*I21/;
SET Y /J1*J21/;
SET inside(X,Y);

* Exclude i1 and i21 from inside
inside(X,Y)$(not((ord(X)=1) and (ord(X)=card(X)))) = yes;

display inside;

SCALAR K /10/;

VARIABLES     obj, f(x,y);

* Bounds on variables, initial conditions, fixing conditions:
f.l(x,y) =1.0;
f.fx(X,Y)$((ord(X)=1) or (ord(X)=card(X))) = 1;

EQUATION objfun;

objfun.. obj =E= (1/sqr(K)) *
                  sum((X,Y) $(inside(X,Y)),
                       sqrt( sqr((F(X+1,Y)-F(X,Y))/K) +
                             sqr((F(X,Y+1)-F(X,Y))/K) + 1) ) ;

MODEL surface /all/;

$iftheni x%mode%==xbook
$onecho >bench.opt
  solvers conopt knitro minos snopt
option nlp=bench

SOLVE surface using nlp minimizing obj;

$iftheni x%mode%==xbook
file res1 /surf1.dat/
put res1;
put "Array surface =" obj.l; put /;
loop(Y, put; loop(X, put F.l(X,Y):6:2 ); put /;) put /;
* End surface