FICO
FICO Xpress Optimization Examples Repository
FICO Optimization Community FICO Xpress Optimization Home
Back to examples browserPrevious exampleNext example

Basic embedding tasks

Description
  • ugcomp.c: Compiling a model into a BIM file (requires burglar2.mos, burglar.dat)
  • ugcomptmp.c: Compiling a model into a BIM file saved in Mosel's temporary directory (requires burglar2.mos, burglar.dat)
  • ugexec.c: Execute (compile/load/run) a model (requires burglar2.mos, burglar.dat)
  • ugrun.c: Executing a BIM file (requires burglar2.bim, burglar.dat)
  • ugdefstream.c: Redirecting the model output (requires burglar2.mos, burglar.dat)
  • ugarray1.c, ugarray2.c: Accessing modeling objects: sparse arrays (requires transport.mos, transprt.dat)
  • ugcb.c: Retrieve model output via a callback (requires burglar2.mos, burglar.dat)
  • ugparam1.c, ugparam2.c: Passing parameters to a Mosel model (requires prime2.mos)
  • ugsol1.c, ugsol2.c: Accessing modeling objects and solution information (requires burglar3.mos, burglar.dat)


Source Files

Data Files





ugcomptmp.c

/*******************************************************
   Mosel User Guide Example Problems
   ================================= 

   file ugcomptmp.c
   ````````````````
   Compiling a model into a BIM file saved in Mosel's
   temporary directory, then load and run it.
   
   (c) 2013 Fair Isaac Corporation
       author: S. Heipcke, Apr. 2013
********************************************************/

#include <stdio.h>
#include "xprm_mc.h"

int main()
{
 XPRMmodel mod;
 int result;

 if(XPRMinit())                       /* Initialize Mosel */
  return 1;

 if(XPRMcompmod(NULL, "burglar2.mos", "tmp:burglar2.bim", "Knapsack example"))
  return 2;                           /* Compile the model burglar2.mos,
                                         output the file burglar2.bim 
					 in Mosel's temporary directory */

 if((mod=XPRMloadmod("tmp:burglar2.bim",NULL))==NULL)  /* Load the BIM file */
  return 3;
 
 if(XPRMrunmod(mod,&result,NULL))     /* Run the model */
  return 4;

 return 0;
}


Back to examples browserPrevious exampleNext example