Posts

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...

Getting Started with a Virtual Python Installation

Working with and developing Python software is complicated by several factors: Many users do not have the administrative privileges that are needed to install packages in the Python site packages directory, where Python packages are most easily installed Python developers often need to manage many Python projects in the same development environment The Python virtualenv package resolves these issues by allowing users to generate a local Python installation. Thus, a user can create a Python installation into which they can install Python packages using standard tools like easy_install and pip. Unfortunately, getting started with virtualenv is complicated by the fact that you need to install this package to create virtual Python installations. But, if you do not have administrative privileges, then you are stuck. This is the simplest process that I have seen: hg clone http://bitbucket.org/ianb/virtualenv virtualenv/virtualenv.py ENV Unfortunately, the hg command may not be...

Installing Python Software Packages: The Good, The Bad and the Ugly

I almost gave the following presentation at the INFORMS Annual Meeting: Installing Python Software Packages: The Good, The Bad and the Ugly That is, I was scheduled to give this talk but my session co-organizer ran over and I had to summarize these slides in 5 minutes! Anyway, these slides describe different strategies for installing Python software.  Although I am a big fan of Python software development, robust strategies for software installation remains a challenge.  This talk describes several different installation scenarios: The Good: the user has administrative privileges Installing on Windows with an installer executable Installing with Linux application utility Installing a Python package from the PyPI repository Installing a Python package from source The Bad: the user does not have administrative privileges Using a virtual environment to isolate package installations Using an installer executable on Windows with a virtual environment The Ugly: the ...