! Model "choose from a finite set" in LINGO. (FiniteChoice.lng)
 A common problem is that a certain variable 
 can only take on values chosen from a given
 finite set;
! Keywords: Choice, Finite choice, Multiple choice;
SETS:
  FINITESET: Z, DIAM, COST;
ENDSETS
DATA: ! The diameters from which we can choose; DIAM = 10 12 15 18; ! and their cost; COST = 3.5 3.6 3.8 6.9; ENDDATA @FOR( FINITESET( d): ! Z(d) is a binary variable. We either choose diameter d, (Z(d) = 1), or not ( Z(d) = 0); @BIN( Z(d)); ); ! We must choose exactly one diameter; @SUM( FINITESET( d): Z(d)) = 1; ! Compute chosen diameter and cost; CDIAM = @SUM( FINITESET( d): DIAM(d) * Z(d)); CCOST = @SUM( FINITESET( d): COST(d) * Z(d)); ! Arbitrarily add a made-up objective. maximize diameter - cost; MAX = CDIAM - CCOST;