Posts

Showing posts from 2011

OptimJ is now free, but Ateji is closed

Atjei , the creater of OptimJ, is now closed. The OptimJ product is a Java extension that supports a simplified syntax for specifying optimization models.  It is sad to see this product be abandoned like this.  I do not know of any other optimization modeling tool that directly supports Java. Erwin Kalvelagen noted the demise of Ajeti, and commented that " I believe that some of the more complex data issues in practical modeling are often better (i.e. more efficiently) dealt with in a specialized language than in a traditional programming language." Pyomo is similar to OptimJ, in that it supports optimization modeling in Python. However, a premise that has guided Pyomo development is that users will want to perform modeling in a full-featured programming language. Clearly, traditional programming languages are more verbose and complex than a domain-specific language. However, Python is arguably much simpler to use than Java. In fact, I have gotten feedback from Pyomo

Using AsciiDoc for Mathematical Publications

Technical writing is an integral part of my research in computer science and operations research. I have a long history using LaTeX, which is very well suited for writing technical articles that contain mathematical equations as well as code snippets. Although LaTeX can readily generate postscript and PDF output files, I have been unimpressed with tools that generate HTML from LaTeX source. Thus, I was intrigued by AsciiDoc , which promises to generate PDF, HTML and eBook formats. AsciiDoc is used to provide online documentation for software projects, and authors can publish book through O'Rielly using this tool. Thus, this is a well-developed document generation tool. I have successfully prototyped a draft book, Getting Started with Coopr , and you can browse the subversion repository for this document here . Note that the Makefile file specifies build targets for PDF, HTML and eBook files. The advantage of AsciiDoc is that you can use a simple markup language to generate

Coopr Download Fun

I stumbled across the following site, which provides download statistics for PyPI Python optimization packages:     http://taichino.appspot.com/pypi_ranking/keyword/optimization It was fun to see the different download package statistics. I'm quite curious that coopr.pysos has the highest number of downloads, since IMHO this package doesn't have much interesting functionality... Hmmm... Another surprise for me is that so many optimization Python packages are _not_ on this list!  I am maintaining the following list of links for Python optimization packages:     https://software.sandia.gov/trac/coopr/wiki/Documentation/RelatedProjects Perhaps these packages were not tagged with the 'optimization' label ... or perhaps they were not downloaded enough to make the list?

Python Optimization Packages

I have been maintaining a list of Python optimization packages for a while now on the Coopr Trac pages:  see https://software.sandia.gov/trac/coopr/wiki/Documentation/RelatedProjects .Today, I noticed that if you google for "python optimization packages", this page does not show up right away.  Perhaps Trac pages are index differently?  I'm not sure. Anyway, I thought I'd add this reference here to help others find this list that I'm maintaining...

Coopr 3.0.4362 Release

We are pleased to announce the release of Coopr 3.0 (3.0.4362). Coopr is a collection of Python software packages that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. The following are highlights of this release: - Solvers * More sophisticated logic for solver factory to find ASL and OS solvers * Various solver interface improvements * New Solver results object for efficient representation of variable values * New support for asynchronous progressive hedging - Modeling * Changes in rule semantics to limit rule return values * Changes in the expected order of rule arguments * Constant sums or products can now be used as constraint bounds * Added full support for the !ConstraintList modeling component. - Usability enhancements * More explicit output from runph and runef commands * Added support in runef to write the extensive form in NL format * Add controls for garbage collection in PH - Other * Efficiency impr
Coopr 2.5(2.5.3890) has just been released ! Coopr is a collection of Python software packages that supports a diverse set of optimization capabilities for formulating and analyzing optimization models. The following are highlights of this release: - Solvers     * MIP solver interface updates to use appropriate objective names     * Added support for suffixes in GUROBI solver interface     * Improved diagnostic analysis of PH solver for the extensive form - Usability enhancements     * Improved robustness of coopr_install     * Fixed Coopr installation problem when using easy_install     * Added a script to launch the CooprAge GUI.     * LP files now are written with the true objective name     * Rework of pyomo command line to create a concise output     * Many efficiency improvements during model generation!     * Many improvements to diagnostic output and error handling     * Expressions like "model.p > 1" can now be used within generation rules - Modeling     *