CMSlv

From ASCEND

Jump to: navigation, search
NLA
QRSlv
CMSlv
IPSlv
Opt
NLP
CONOPT
IPOPT
TRON
MINOS
NGSlv
OptSQP
DAE/ODE
IDA
LSODE
DOPRI5
LA
linsolqr
linsol
LP
MakeMPS
Logic
LRSlv

This is the conditional modelling solver implemented by Vicente Rico-Ramirez[1]. Currently this solver is fully operational -- it solves the sample models given in Vicente's thesis, and these have been incorporated in the the TestSuite.

[edit] Example

Here is an extract of a full example called linmassbal.a4c:

(* Boundaries *)
  CONDITIONAL
      cond1: Fmain <= B[1];
      cond2: Fmain >= B[2];
  END CONDITIONAL;

  bol1 == SATISFIED(cond1,1e-08{lb_mole/hour});
  bol2 == SATISFIED(cond2,1e-08{lb_mole/hour});

  (* Variant Equations *)
  eq1a: Fsub1 = a[1] * Fmain;
  eq1b: Fsub2 = b[1] * Fmain;

  eq2a: Fsub1 = a[2] * Fmain;
  eq2b: Fsub2 = b[2] * Fmain;

  eq3a: Fsub1 = a[3] * Fmain;
  eq3b: Fsub2 = b[3] * Fmain;

  (* Disjunctive Statements *)
  WHEN (bol1,bol2)
      CASE TRUE,FALSE:
          USE eq1a;
          USE eq1b;
      CASE FALSE,FALSE:
          USE eq2a;
          USE eq2b;
      CASE FALSE,TRUE:
          USE eq3a;
          USE eq3b;
  END WHEN;

[edit] References

  1. Vicente Rico-Ramirez, 'Conditional Modelling', PhD thesis (see ASCEND bibliography)
Personal tools