15:50 -> Added to the file hessianAN.m the line
at line 109.
(this is needed if: variable final time; number of path constraints different from number of the dynamic equations)
15:50 -> Using ICLOCS with parameters
Modified line 50 and 52 of gradientConst.m:
15:50 -> Using ICLOCS with parameters
Modified line 101 of jacConstz.m:
13:42 -> The OrbitRising example doesn't work, have to comment the cvodes settings.
Modified line 273 of hessianAN.m:
22:08 -> In ICLOCS it seems that if one defines the x0 then it cannot be chnged as an optimisation variable.
It would be useful to have x0 as a variable and at the same time beibg able to provide a guess value for x0.
To do so I changed the line 116 in transcribeOCP: "cx0=1;" -> "cx0=0;"
18:17 -> Modified line 290 of hessianAN.m
"bt=(bpp-bp2+bo-bp1).*adjoint'/e2;" -> "bt=(bpp-bp2+bo-bp1).*adjoint/e2;"
18:12 -> Modified line 94 of jacConstz.m
"idx=data.FD.index.f;nfd=size(idx,2);" -> "idx=data.FD.index.g;nfd=size(idx,2);"
20:15 -> Had to modify 2 lines of a file when including boundary constraints
12:25 -> Change line 94 of jacConstz.m from
idx=data.FD.index.g;nfd=size(idx,2); %from "index.f" to "index.g"
15:47 -> Bycicle problem started.
14:22 -> The optimisation works worse suplying the analytic formulation of the hessian of the path constraints Hg. (why?)
13:30 -> If an H element (cell) is empty, the correspoding value is calculated numerically:
Yet to understand whether using a "central" or "forward" method.
13:27 -> Just noticed that the field .flag does not appear to be used when choosing between the numeric or analytic derivation of the Hessian.
The hessianAN function only checks whether the H cells are empty.
13:10 -> It works after modifying the line:
adjoint=data.lambda(n*M+M*ng+(~~nb):n*M+M*ng+nb)'; % transpose needed
12:02 -> The numeric evaluation of the hessian in hessianAN returns an error, this maybe
has to do with the problem experienced before in hessianCD -> see the differences in hessianCD1
16:33 -> Received and tested the compiled MATLAB librarier from Rodrigo.
For licencing reasons the libraries do not include the linear solver ma57 and use MUMPS instead (Ipopt should work faster with m57).
The BangBang ICLOCS example works.
Nth attempt to compile the MATLAB interface of Ipopt under Windows 7 (64 bit)
17:31 -> have a look at http://ptolemy.eecs.berkeley.edu/ptolemyII/ptII4.0/cygwin.htm
completely useless... now looking at
(with some godly help form MastroTux)
the MUMPS package requires gfortran; it has to be added in the cygwin setup
got the fixed version of the make 3.81 and replaced in the bin folder of cygwin; seems to work better
or (after MastroTux's suggestion) use the mingw-make (maybe needs to be installed at the cygwin setup)
found the mailing list topic http://list.coin-or.org/pipermail/ipopt/2010-November/002203.html
looks promising... following the instructions http://www.mingw.org/wiki/msys
might not need to download MSYS Core 1.0.11 as it is already included in MSYS 1.0.11
using the Ipopt-3.9.3 with all the thirdparty packages obtained with wget
in the Ipopt-3.9.3 directory use:
./configure -C --enable-doscompile --enable-static --disable-shared > ADD_CXXFLAGS="-fexceptions" ADD_CFLAGS="-fexceptions" ADD_FFLAGS="-fexceptions">
configure was successful... running make...
... which miserably failed...
Downloaded and installed all the CUR packages of the latest version of cygwin;
Downloaded (again) the latest version of Ipopt (3.9.3);
Downloaded all the ThirdParty software using the scripts get.*, plus ma27ad.f and mc19ad.f in the HSL folder;
Substituted the make.exe with a patched one, moved the folder ipopt-3.9.3 to /home and created /home/ipopt/install (mkdir -p ipopt/install)
Run: ./configure -C --enable-doscompile --enable-static --disable-shared ADD_CXXFLAGS="-fexceptions" ADD_CFLAGS="-fexceptions" ADD_FFLAGS="-fexceptions" --prefix=$HOME/ipopt/install
"make" "make test" "make install" ...
... and amazingly everything worked fine
The MATLAB interface compilation has been a nightmare and eventually...
Linux has won...
The ipopt.mexglx has been successfully compiled with Ubuntu 10.04 following the instructions on
http://www.coin-or.org/Ipopt/documentation/documentation.html and https://projects.coin-or.org/Ipopt/wiki/MatlabInterface
12:40 -> Trying to compile using MinGW and MSYS:
followed the installation instruction at http://www.mingw.org/wiki/MSYS
(got a strange error about missing make)
installing wget wget following the instructions here
13:06 -> the installation of wget doesn't work.
13:16 -> just copied the wget.exe in the bin directory and it works.
Now trying to configure Ipopt with '../configure -C --enable-doscompile --enable-static --disable-shared ADD_CXXFLAGS="-fexceptions" ADD_CFLAGS="-fexceptions" ADD_FFLAGS="-fexceptions"'
13:47 -> configure succesful ... make launched.
13:32 -> Starting the definition of the optimisation problem:
constant speed sleigh with nonholonomic no-slip constraint, constant speed and elliptical track.
20:29 -> To avoid an error reporting inconsistent matrix dimensions using IPOPT
I had do modify the line 113 of the file directCollocation.m:
"b(x0,xf,u0,uf,p,tf,vdat)];" -> "b(x0,xf,u0,uf,p,tf,vdat)'];"