This algorithm, implemented in Matlab/Octave, solves the following positivity-constrained n-dimensional problem with linear equality constraints:
This project is just for fun, and not research. That is, nothing here is an original contribution beyond well-known algorithms. Specifically, POPDIP is a special case of Algorithm 16.1 in section 16.7 of the textbook Griva, Nash, & Sofer, Linear and Nonlinear Optimization, 2nd ed., SIAM Press 2009.
Go to the directory matlab/
, and start Matlab or Octave. The main algorithm
is in popdip.m
.
>> help popdip
To use popdip.m
effectively, you will probably need a driver program. Three
such examples are small.m
, linear.m
, and obstacle.m
:
>> small
>> linear
>> obstacle
Please read the PDF documentation.
This LaTeX document can be rebuilt, using pdflatex
and bibtex
, by
doing make
in the doc/
directory.
The first version of this project was demonstrated in my Math 661 Optimization course in Fall 2018. (See bueler.github.io/M661F18/ and look among the Matlab/Octave codes.) The current version is an example in the Fall 2022 instance of the same course; see bueler.github.io/opt/.