Code covered by the BSD License  

Highlights from
MTRON

4.5

4.5 | 2 ratings Rate this file 2 Downloads (last 30 days) File Size: 16.78 KB File ID: #14848

MTRON

by Christoph Ortner

 

02 May 2007 (Updated 02 May 2007)

MTRON is a Matlab wrapper for the Fortran software TRON (a large scale trust region Newton method).

| Watch this File

File Information
Description

MTRON : A Matlab interface to the TRON package of C.-J. Lin and J. MoreƩ.

    Chih-Jen Lin and Jorge MoreĆ©, Newton's method for large
    bound-constrained optimization problems, SIAM Journal on Optimization,
    Volume 9, Number 4, pp. 1100-1127, 1999

    http://www-unix.mcs.anl.gov/~more/tron/
   (as of 28 November 2006)

MTRON was written by Christoph Ortner

Description:
-------------
   TRON is a trust region method for the solution of large scale
   bound-constraint optimization problems, i.e. problems of the form
   
            min f(x) subject to a_j \leq x_j \leq b_j

   where f : R^n --> R^n should be twice differentiable.

   TRON works by reverse communication, i.e., the user must write the
   optimization loop and calls dtron.f at each iteration. mtron.c
   simply translates dtron.f into Matlab. Its calling convention
   is described in mtron.m. test_mtron.m is an example for using
   MTRON in this way.

   Alternatively, the interface routine itron.m may be used which is
   modeled after the optimization toolbox routine fmincon (though
   itron only supports bound-constraints)

Files:
-------
  readme.txt : this file
  mtron.c : gateway routine
  mtron.m : helptext for using mtron.c
  itron.m : driver routine, which encapsulates the reverse communication
            principle of TRON and mtron.
  make_mtron.m : script for compiling mtron.c
  test_mtron.m : implemenation of a simple test problem (uses only mtron.c
                 and not the driver routine itron)
  test_itron.m : test problem for itron
  plap.m : definition of the test problem used in test_mtron and test_itron

MATLAB release MATLAB 7.4 (R2007a)
Other requirements Tested on Linux and OS-X but should work on any system on which a Fortran77 compiler is available (and on which TRON can be compiled).
Tags for This File  
Everyone's Tags
Tags I've Applied
Add New Tags Please login to tag files.
Comments and Ratings (4)
12 Sep 2008 Tron Reviewer

pretty good, and easy to use. Needed some hacking for 64bit.

11 Jan 2011 Nicholas

Hi there,

I'm having memory issues when compiling this on a 64 bit linux machine. I was wondering what hacks needed to be done to make this code work.

11 Jan 2011 Nicholas

In regards to memory issues and 64-bit compatibility:

The only changes that need to be made are to replace the int type declarations corresponding to ir and jc in the main routine with mwSize type declarations. Also, in the create_nfo function the int type for the dims array must be replced by an mwSize type.

29 Nov 2011 Son Le

Couple comments to make it works on x86_64:

- add -fPIC to the CFLAGS/FFLAGS of all Makefile when compiling tron.
- compile using gfortran if you have more recent GCC
- change -lg2c to "-lgfortran -largeArrayDims"
- in mtron.c:154 int dims[] => mwSize dims[]
- mtron.c:306/307 =>
   mwIndex *t = mxGetJc(prhs[7]);
   nnz = (t[n] + 100) * 2;

Please login to add a comment or rating.
Tag Activity for this File
Tag Applied By Date/Time
optimization Christoph Ortner 22 Oct 2008 09:11:19
large scale Christoph Ortner 22 Oct 2008 09:11:19
unconstrained Christoph Ortner 22 Oct 2008 09:11:19
box constrained Christoph Ortner 22 Oct 2008 09:11:19

Contact us at files@mathworks.com