Some changes have been committed to scipy_bfgs and scipy_ncg. Now they handle more stop criteria, and plotting (via p.plot=1) yields point for every iteration, not just 2 points start-finish joined by direct line.
I intend to implement similar changes for ALGENCAN, but since the solver doesn't have iterfcn ability (ALGENCAN developers had been informed about the issue, but no answer have been obtained), I intend to connect iterfcn to df (gradient) (OO numerical gradient will be used if no user-supplied one will be available).
Tuesday, October 30, 2007
Monday, October 29, 2007
some more scipy NLSP solvers have been connected
I have connected some more NLSP solvers from scipy, however, all they works very unstable and can't use derivatives (at least for current scipy version 0.6.0, maybe in future they will be enhanced by someone).
So the new solvers are
scipy_anderson
scipy_anderson2
scipy_broyden1
scipy_broyden2
scipy_broyden3
scipy_broyden_generalized
you can read more about the ones (particularly, algorithms used) here.
So the new solvers are
scipy_anderson
scipy_anderson2
scipy_broyden1
scipy_broyden2
scipy_broyden3
scipy_broyden_generalized
you can read more about the ones (particularly, algorithms used) here.
Saturday, October 27, 2007
Elefant solvers
Some months ago I got to know about the Elefant package, it contains some optimization routines that could be useful for OO (although, I haven't start to connect Elefant solvers yet).
However, their API seems to be very strange, for example:
Ok, maybe for [a, +inf) bounds they mean using d (that is r) = inf, but how should I handle (-inf, a] bounds?
Maybe Elefant developers will fix the issue.
However, their API seems to be very strange, for example:
So I can't understand how should I implement those linear inequalities b ≤ Ax ≤ b + d where lower or upper coordinate is +/- inf (btw a small bug is using 'd' literal instead of 'r' or wise versa). I hadn't get any explanations from Elefant documentation.
minimize (c, x)
subject to b ≤ Ax ≤ b + d and l ≤ x ≤ u:
mysolver = intpointsolver.CLPSolver()
x, y, how = mysolver.Solve( c, A, b, r, l, u)
minimize 0.5*(x, Hx) + (c, x)
subject to b ≤ Ax ≤ b + d and l ≤ x ≤ u :
mysolver = intpointsolver.CLPSolver()
x, y, how = mysolver.Solve( c, H, A, b, r, l, u)
Ok, maybe for [a, +inf) bounds they mean using d (that is r) = inf, but how should I handle (-inf, a] bounds?
Maybe Elefant developers will fix the issue.
IronPython and NumPy
IronPython users, here is an information about using numpy (from IronPython), I guess it could be useful for you.
Let me remember you once again: the only one dependence for OpenOpt is NumPy.
Let me remember you once again: the only one dependence for OpenOpt is NumPy.
Friday, October 26, 2007
d2f: 2nd derivatives
I have connected another one unconstrained scipy.optimize solver: fmin_ncg.
This one can handle Hesse matrix (objFunc 2nd derivatives), see the example for more details.
Also, some changes were made to scipy_bfgs, now the solver (along with scipy_ncg) handles more user-supplied stop criteria passed from OpenOpt API. Also, graphic output for scipy_bfgs is no just 2 points connected by direct line, now it's similar to output of lincher or ralg; same to scipy_ncg.
Some of my primary goals are using d2c, d2h, d2l in ALGENCAN and/or CVXOPT and/or other OO NLP solvers, but I guess it will take much time, I'm short of the one for now.
This one can handle Hesse matrix (objFunc 2nd derivatives), see the example for more details.
Also, some changes were made to scipy_bfgs, now the solver (along with scipy_ncg) handles more user-supplied stop criteria passed from OpenOpt API. Also, graphic output for scipy_bfgs is no just 2 points connected by direct line, now it's similar to output of lincher or ralg; same to scipy_ncg.
Some of my primary goals are using d2c, d2h, d2l in ALGENCAN and/or CVXOPT and/or other OO NLP solvers, but I guess it will take much time, I'm short of the one for now.
Wednesday, October 24, 2007
some minor bugfixes
3 minor bugs have been fixed (svn and box.net have been updated).
1. OpenOpt required pylab (matplotlib) installed for problems with p.plot turned off as well.
2. p.check.df didn't work with LSP and NLSP.
3. Some code related to GNLP and LLSP were not committed into svn (those who had downloaded OpenOpt from box.net didn't encountered any problems).
1. OpenOpt required pylab (matplotlib) installed for problems with p.plot turned off as well.
2. p.check.df didn't work with LSP and NLSP.
3. Some code related to GNLP and LLSP were not committed into svn (those who had downloaded OpenOpt from box.net didn't encountered any problems).
Friday, October 19, 2007
LLSP: linear least squares problem
New OO class have been created:
LLSP - Linear Least Squares Problem.
2 solvers are connected for now: lapack_dgelss and lapack_sgelss (double and single precision). Requires LAPACK and scipy.
A simple example is provided.
Already available in svn and box.net!
P.S. As I had been informed by developers of dgelss/sgelss, they have more powerful routines: dgelsa and dgelsb, available at
LLSP - Linear Least Squares Problem.
2 solvers are connected for now: lapack_dgelss and lapack_sgelss (double and single precision). Requires LAPACK and scipy.
A simple example is provided.
Already available in svn and box.net!
P.S. As I had been informed by developers of dgelss/sgelss, they have more powerful routines: dgelsa and dgelsb, available at
www.hpca.uji.es -> Software Efforts -> LS LibraryHowever, they are not included in LAPACK yet.
Sunday, October 14, 2007
Some changes
Yestorday I committed to svn a small bug, so all check of 1st derivatives dc and dh always yield zero difference. Today I have fixed the bug.
DFP (data fit) class have been renamed to LSP (least squares), this is much more correct both for single solver (scipy_leastsq) and for usage. Maybe I will implement DFP later.
Some changes have been made in OO website.
DFP (data fit) class have been renamed to LSP (least squares), this is much more correct both for single solver (scipy_leastsq) and for usage. Maybe I will implement DFP later.
Some changes have been made in OO website.
Saturday, October 13, 2007
Visitors statistic
I have added new OpenOpt site web page - visitors statistic.
So for now 51% of browsers are Firefox 1.x. I guess it's one more prove that some visitors remain uncounted due to my asp-based web counter. I hope Jeff Strunk will implement more advanced, javascript-based counter soon (currently javascript is turned off in the Trac settings).
So for now 51% of browsers are Firefox 1.x. I guess it's one more prove that some visitors remain uncounted due to my asp-based web counter. I hope Jeff Strunk will implement more advanced, javascript-based counter soon (currently javascript is turned off in the Trac settings).
Friday, October 12, 2007
ALGENCAN output files
Maybe some of you had already noticed that ALGENCAN yields 4 files:
algencan-tabline.out, gencan-tabline.out, algencan.out, solution.txt
As I have been informed by ALGENCAN developers, currently the only one way to prevent creating these files is removing all those lines 'write(10' in algencan.f, recompiling and reinstalling ALGENCAN.
I hope the problem will have more convenient solution in next ALGENCAN releases.
algencan-tabline.out, gencan-tabline.out, algencan.out, solution.txt
As I have been informed by ALGENCAN developers, currently the only one way to prevent creating these files is removing all those lines 'write(10' in algencan.f, recompiling and reinstalling ALGENCAN.
I hope the problem will have more convenient solution in next ALGENCAN releases.
Wednesday, October 10, 2007
Additional user args usage
I have committed an example of using user-supplied additional arguments for f, c, h functions.
See the example here.
(Updating OpenOpt from svn or box.net is required)
See the example here.
(Updating OpenOpt from svn or box.net is required)
Tuesday, October 9, 2007
Bug in voting have been fixed
So now you can vote.
Also, I noticed some web browsers (IE, Opera) are blocking my asp-based visiting counter (by default or by user settings), so some visitors remain uncounted.
I will try to find other counter, not asp-based, that will take into account more site visitors.
Also, I noticed some web browsers (IE, Opera) are blocking my asp-based visiting counter (by default or by user settings), so some visitors remain uncounted.
I will try to find other counter, not asp-based, that will take into account more site visitors.
Saturday, October 6, 2007
DFP: Data Fit Problem
New OO class have been created:
DFP - Data Fit Problem (non-linear)
currently the only one solver is scipy.optimize.leastsq as scipy_leastsq
see example here
DFP - Data Fit Problem (non-linear)
currently the only one solver is scipy.optimize.leastsq as scipy_leastsq
see example here
Subscribe to:
Posts (Atom)