Friday, July 29, 2011

Software development and Customer support position @ AMPL

AMPL Optimization is looking for an optimization expert to join
http://www.ampl.com/OPENINGS/2011July.html
Specific responsibilities will include the following:
  • Create and solver interfaces, database handlers, and other AMPL-related software
  • Supervise systems for software distribution, licensing, and invoicing, with activities including design, implementation, maintenance, and customer support
  • Manage and develop AMPL's online availability through repositories & servers such as netlib, COIN-OR, NEOS, and future "cloud" offerings
  • Assist in support of AMPL users and specific customer projects
  • Participate in internal discussions on AMPL's development and marketing strategy
Qualified applicants will have the following preparation:
  • Study of optimization and related topics in an MS, PhD, or comparable advanced degree program
  • Experience carrying out research in optimization or pursuing applications of optimization to real problems
  • Proficiency in software design and development using a variety of languages and platforms, with a willingness and ability to pick up new systems quickly
  • Ability to communicate effectively (in person, over the phone, and in writing) with a variety of optimization users and customer representatives
  • Interest in helping to run a business and in working independently



Wednesday, July 27, 2011

CHiPPS: can not find symbol MPI_Irecv with MPI solution

When configure the parallel version of CHiPPS project, people can encounter
 the error as below
 
Cannot find symbol MPI_Irecv with MPI 
 
which means that configure script couldn't link a simple executable that 
had a simgleMPI_Irecv() call in its main function. 
 
You can use mpicc -link_info to find those related linked library and 
add them in the option of configure. 
 
For example , the output of mpicc -link_info on one server shows that
 
gcc -g -O2 -g -Wall -O2 -I/usr/include/mpich2 -L/usr/lib -L/usr/lib
-lmpich -lopa -lpthread -lrt 
 
The corresponding configure options are 
../configure --enable-static --disable-shared --with-mpi-incdir=
/usr/include/mpich2 --with-mpi=lib
="-L/usr/lib -lmpich -lopa -lpthread -lrt" MPICC =mpicc MIPCXX =mpic++(mpiCC need 
to check the /usr/bin/executable)
CXXDEFS='-DMPICH_IGNORE_CXX_SEEK'

Tuesday, July 19, 2011

Visiting Assistant Professor Job at Stoney Brook University

Required Qualifications: PhD. in Operations Research Modeling or related discipline. Research areas to include mathematical programming, nonlinear optimization, stochastic optimization, combinatorial optimization, and applications of optimization.
Preferred Qualifications: A record of achievement to include published papers, an established reputation for research excellence, visibility within the research community, and experience writing proposals and working on funded research projects. The ideal candidate will have a strong potential for developing an externally funded research program.
Responsibilities & Requirements: The faculty member will participate in teaching and research. Research areas of interest include all areas of mathematical programming, optimization, modeling and simulation. The successful applicant will be expected to participate in collaborative modeling and simulation. The successful applicant will be expected to participate in collaborative research with faculty involved with Stony Brook Advance Energy Research and Technology Center (AERTC) in areas of renewable energy research, power production and distribution, and system optimization for Smart Grid Technology. Additionally, research collaborations may include areas of transportation optimization, sensor networks, wireless information technology, and quantitative finance.
Special Notes: This is a non-tenure track position. FLSA Exempt position, not eligible for the overtime provisions of the FLSA. Internal and external search to occur simultaneously. **Applications will be accepted until the position is filled.
The selected candidate must successfully clear a background investigation.

Monday, July 18, 2011

Announcing BuildTools 0.7.0 release

he first release of the BuildTools 0.7 series has just been created.
Changes w.r.t. 0.6 can rougly be seen here:
https://projects.coin-or.org/BuildTools/changeset?reponame=&new=2365%40trunk&old=1950%40trunk

Incomplete release notes are below. Some of the fixes may also have been

merged to the 0.6 series.

In case of questions, refer also to the updated documentation page for

project managers at https://projects.coin-or.org/BuildTools/wiki/pm-main
If your project is still using BuildTools 0.5 and you consider to
upgrade to use 0.7, have a look into the brief tutorial on switching
from 0.5 to 0.7:
https://projects.coin-or.org/BuildTools/wiki/pm-switch


coin.m4:

- changed default installation directory for libraries back to ${prefix}/lib
- removed macros that were marked deprecated in BuildTools 0.6
- removed ADDLIBS, FADDLIBS, and PCADDLIBS variables; macros like
COIN_CHECK_GNU_ZLIB now take a list of prefixes for shell variables
where to add corresponding linker flags
- defines for numeric version numbers of the form PRJCT_VERSION_MAJOR,
PRJCT_VERSION_MINOR, PRJCT_VERSION_RELEASE are now created automatically
by configure
- added recognition of Windows 64bit MKL libraries and MacOS X Veclib
framework as Blas/Lapack alternatives
- --enable-maintainer-mode should work again
- new macros COIN_CHECK_ISFINITE and COIN_CHECK_ISNAN (originally from
CoinUtils) to check for variations of isfinite and isnan functions and
to define suitable C preprocessor macros COIN_C_ISFINITE and COIN_C_ISNAN
- configure help messages about enable/disable commands have been
changed to say --enable-xyz for features that are disabled by default
and vice versa
- --without-xyz, --without-xyz-lib, --without-xyz-incdir,
--without-xyz-datadir and corresponding --with-xyz*=no should work to
disable the use of a particular package
- added -O0 to compiler flags in debug mode
- added -Wno-long-long to compiler flags
- removed -Wimplicit from C++ compiler flags
- slightly change the way the FLIBS variable is setup (fixes some issue
on MacOS X)
- change the order in which to check for Fortran compiler, e.g.,
Fortran90 compilers are prefered to Fortran77 compilers
- enable check for Fortran cross-compiler
- only pkg-config versions >= 0.16 are supported now
- $prefix/share/pkgconfig has been added to the search path for .pc files
- improved setup of XYZ_DEPENDENCIES variable for use in Makefiles to
specify cross-project dependencies of a library; added option
--disable-interpackage-
dependencies to disable setup of XYZ_DEPENDENCIES
variable
- allow to exclude package versions via != in AC_COIN_CHECK_PACKAGE
- fix parsing of .pc files in mingw builds
- fix setup of XYZ_LIBS_INSTALLED variables for builds with cl compiler

{prepare,commit}_new_{release,
stable} scripts:
- improvements and fixes for computing the libtool age of a project
- adapted update of PRJCT_VERSION* defines in config header files to
changed scheme of these header files and to also update new defines
- the new release will not have a changed Dependencies file, but will
use the same as in the stable branch it originated from. Only the
svn:externals property is set to point to releases of Dependencies. This
makes it easier for a user to switch to updated releases via the
set_externals script.

headers/configall_system_msc.
h:
- moved preprocessor defines that were specific for CoinUtils to the
CoinUtils configuration headers

Coopr 3.0 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 improvements in generation of NL and LP files.
  * Significant efficiency improvements in parsing of Pyomo Data Files.
  * More robust MS Windows installer (does not use virtual python
  * environment)

Note that this is a major release of Coopr that changes the expected formulation of Coopr models.  See the Coopr blog for further details about deprecated functionality, which will be disabled in future releases.

See https://software.sandia.gov/trac/coopr/wiki/GettingStarted for instructions for getting started with Coopr.  Installers are available for MS Windows and Unix operating systems to simplify the installation of Coopr packages along with the third-party Python packages that they depend on.  These installers can also automatically install extension packages from Coin Bazaar.

Enjoy!

 - Coopr Developer Team
 - coopr-developers@googlecode.com
 - https://software.sandia.gov/trac/coopr/wiki/Documentation/Developers

Saturday, July 16, 2011

NSF AWARD: Models and Algorithms for Risk Adjusted Optimization with Robust Utilities

Recently, a NSF funding is awarded to Sanjay Mehrotra. The introduction of the project is shown as below

The research objective of this award is to study concepts of relaxed univariate and multivariate stochastic dominance motivated from the specification of utility functions. A major challenge in risk-adjusted decision making is the assessment of a decision maker's risk/utility function associated with uncertain outcomes. The stochastic dominance concept enables the defining of preferences of one random entity (variable, vector, matrix, process, etc.) over another and therefore can be used to compare the different risks between decision alternatives. The concept of stochastic dominance is related to utility theory, which works with a class of utility functions where limited prior knowledge on a decision maker's utility function is assumed, which unfortunately results in very conservative models. Developing models, and the corresponding algorithms, that can systematically circumvent the challenges of traditional utility theory, especially when the decision is based on conflicting objectives and multiple random outcomes, is thus critically needed.

If successful, the results of this research will lead to the development of a new class of risk-adjusted decision models that incorporate risk in a more realistic way than currently existing techniques. Computationally efficient algorithms will be developed to solve these models.

Thursday, July 14, 2011

Post-doctoral position at University of Houston

The Systems Optimization and Computing Laboratory at the University of Houston is seeking outstanding researcher for a post-doctoral position to begin August 16, 2011. The initial appointment is one year, which may be extended upon research performance and availability of funding for another year. Candidates should have expertise and research interest in optimization and healthcare systems (and preferably GPU-computation). The ideal candidate will have a Ph.D. in Operations Research, Industrial Engineering, Mathematics, or Computer Science. The successful candidate will work with Dr Gino Lim on developing optimization models and computational algorithms for very large-scale optimization problems in radiation treatment planning and/or homeland security. Candidates must have expertise in C/C++ and CPLEX (or Gurobi). Strong written and oral communication skills are must.

Other duties may include supervising Ph.D. students and teaching undergraduate level courses. We collaborate with the University of Texas MD Anderson Cancer Center on various exciting research projects.

Please send an electronic application to: ginolim@uh.edu. Application must include a curriculum vitae and a list of three professional references. Applications will be considered on a continuing basis beginning June 8, 2011 until the position is filled.

Wednesday, July 13, 2011

PostDoc Position in Wind and Solar Energy Siting Optimization

Advisers





MacDonald, Alexander E



Description

This opportunity involves assisting with an ongoing research project to optimize the siting of wind and solar energy projects using high-resolution numerical weather model data over multiple years. The literature contains work on relatively low penetration wind and/or solar power integration into the US grid. However, analysis and optimization of high penetration levels of renewable energy in the United States is lacking. This research has the potential to lead to multiple journal publications. In addition to the physical parameters of wind and solar radiation, this study will also optimize based on project economics. Computational work for this project is being done using a NOAA owned supercomputer, and the Associate will be working at the NOAA Earth System Research Laboratory in Boulder, CO. This project spans several disciplines and technical areas: mathematical optimization, coding (Python, FORTRAN, Linux), supercomputing, meteorology, renewable energy generation, electricity transmission, large-scale energy storage, GIS, and project finance/economics. Applicants are not expected to be expert, or even experienced in all of these areas, but having academic training or practical experience in many of these areas will be beneficial to the project and increase likelihood of success.

Reference
MacDonald AE: Monthly Weather Review 137: 1422, 2009
Keywords:
Optimization; Renewable energy; Meteorology; Numerical weather model;

Tuesday, July 12, 2011

NSF Award: Approximate Augmented Lagrangians, First-Order and Parallel Optimization Methods, with Applications to Stochastic Programming

Recent NSF Award funds a project lead by Jonathan Eckstein . The introduction of the project is stated as below
Continuous optimization is a mathematical discipline with extensive applications in engineering design and business/logistical planning. Its currently most common solution techniques are difficult to adapt to newly evolving computer architectures comprising dozens to thousands of processing elements working in parallel. Combining several existing techniques with some recent results of the principal investigator, this project explores a means of solving continuous optimization problems that should adapt more readily to parallel serial implementation, test it extensively, and address some computer architectures than present standard solvers, allowing the architectures' full power to be brought to bear on large, time-consuming problems. Without such new solution approaches, solution of critical design and planning problems may not benefit from most of the advances in computing power anticipated for the next decade. The project will also involve cooperative work with the Brazilian research community. The technical approach is to capitalize on recent advances in augmented Lagrangian and conjugate gradient algorithms to produce a new kind of modular parallel continuous constrained optimization solver. The solver consists of a classical augmented Lagrangian outer loop, with subproblems solved by the a state-of-the art box-constrained conjugate gradient method terminated by a recently developed relative error criterion. The research consists of three stages: the goal of stage one is to create an object-oriented, modular theoretical issues. Stage two aims to evolve the stage-one substrate into a parallel solver for which the user explicitly specifies how to map the problem structure to multiple processing elements. Stage three's goal is to automate the structure detection and mapping process. Stages two and three will use stochastic programming problems as test cases.

Friday, July 8, 2011

Google C++ Style Guide

Google C++ Style Guide

Progress Reports: Interpreting the Node Log

Value 
Effect 
0 
no display 
1 
display integer feasible solutions 
2 
display nodes under mip interval control 
3 
same as 2, but add information on node cuts 
4 
same as 3, but add LP display for root node 
5 
same as 3, but add LP display for all nodes 
Sample: Stating a MIP Problem presents a typical MIP problem. Here is the node log file for that problem with the default setting of the MIP display parameter: