AMPL

From FarmShare

Revision as of 15:17, 27 July 2012 by Chekh (Talk | contribs)
Jump to: navigation, search

I tried running an ampl example, specifically cut3.run from here: http://www.ampl.com/NEW/LOOP2/index.html

But you need to replace the command "option solver cplex" with "option solver cplexamp"

Put cplex in my path:

[chekh@corn14.stanford.edu] /mnt/glusterfs/chekh/ampl_test [0] 
$ module load CPLEX_Studio-12.4
[chekh@corn14.stanford.edu] /mnt/glusterfs/chekh/ampl_test [0] 
$ which cplex
/mnt/glusterfs/software/non-free/CPLEX_Studio124/cplex/bin/x86-64_sles10_4.1/cplex
[chekh@corn14.stanford.edu] /mnt/glusterfs/chekh/ampl_test [0] 
$ which cplexamp 
/mnt/glusterfs/software/non-free/CPLEX_Studio124/cplex/bin/x86-64_sles10_4.1/cplexamp

Interactive

Run interactive /usr/sweet/bin/ampl using the absolute path:

[chekh@corn14.stanford.edu] /mnt/glusterfs/chekh/ampl_test [0] 
$ /usr/sweet/bin/ampl 
ILOG AMPL 11.210, licensed to "stanford-palo alto, ca", options: MaintenanceEnd=20110531 
AMPL Version 20081120 (Linux 2.6.18-5-amd64)
ampl: include cut3.run

  52.10  -2.00e-01    1  0  0  0  1
  50.50  -2.00e-01    1  2  0  0  0
  47.00  -1.00e-01    3  0  1  0  0
  46.25  -1.00e-06  


Rounded up to integer:  48 rolls

Cut     0   0   9   5   0   8  18   8

 20     5   0   0   0   0   1   1   3
 45     0   2   0   0   0   0   2   0
 50     0   0   2   0   0   0   0   1
 55     0   0   0   2   0   0   0   0
 75     0   0   0   0   1   1   0   0

WASTE =  7.48%


Best integer:  47 rolls

Cut     0   0   8   5   0   8  18   8

 20     5   0   0   0   0   1   1   3
 45     0   2   0   0   0   0   2   0
 50     0   0   2   0   0   0   0   1
 55     0   0   0   2   0   0   0   0
 75     0   0   0   0   1   1   0   0

WASTE =  5.51%

ampl: quit; 

If you use "option solver cplex" in your run file, it will just sit there indefinitely and produce no output. If you use 'ampl' instead of '/usr/sweet/bin/ampl', you need to have /usr/sweet/bin in your PATH first.

non-interactive, aka batch

You can just give ampl the filename of the run file as an argument, instead of invoking ampl interactively. E.g.

 /usr/sweet/bin/ampl cut3.run

It will still print the output out to stdout, so you may want to redirect to a file, e.g.

 /usr/sweet/bin/ample cut3.run > output_of_cut3.out

submit to barley

Since we can run the program non-interactively, we can submit it to the resource management system. Write a job script like this:

#!/bin/bash
# use the current directory
#$ -cwd
# use the current environment
#$ -V
# mail this address
#$ -M chekh@stanford.edu
# send mail on begin, end, suspend
#$ -m bes
# request 5GB of RAM for this job
#$ -l mem_free=5G

/usr/sweet/bin/ampl model.run 

You'll need to use the '-V' flag either on the command line or in the job script, and you'll need to run 'module load CPLEX_Studio-12.4' before you submit the job.

Personal tools
Toolbox
LANGUAGES