[OS] [Ipopt] [Cbc] Linear System Constraint Least Square

Tony Kelman kelman at berkeley.edu
Thu Oct 24 01:39:58 EDT 2013


Just for reference sake, the whole COIN-OS stack builds nicely using MSYS and the TDM-GCC distribution of MinGW64 (http://tdm-gcc.tdragon.net/). You will need to add the configure flag ADD_FFLAGS=-static-libgcc, although that won’t be necessary any more after https://projects.coin-or.org/BuildTools/changeset/3004 makes its way through testing and into a future release.

If you want to end up with redistributable binaries that are statically linked to libgfortran, the best way I’ve found for doing that is by calling make as:
AM_LDFLAGS=-all-static make all install test

-Tony


From: soufiane khiat 
Sent: Monday, October 21, 2013 12:26 PM
To: Ted Ralphs 
Cc: OS at list.coin-or.org ; ipopt at list.coin-or.org ; cbc ; Bonmin at list.coin-or.org 
Subject: Re: [Ipopt] [Cbc] Linear System Constraint Least Square

Thank for you detailled answer and clarification.

I can't buy a licence of solver like AMPL (http://www.ampl.com/index.html), So I tried OS. MS Binaries, but as expected only x86 are provided and after linking:
amplsolv.lib(fpinitmt.obj) : fatal error LNK1112: module machine type 'X86' conflicts with target machine type 'x64'...


And Intel x64 binary could not be used, due to the MKL dependencies (note: MKL is not free http://software.intel.com/en-us/intel-mkl).


So I will try to build x64 version with MinGW (I can't switch to x86).


If anyone has a x64 binary without MKL dependence that would very helpful for Coin-OR community.


Cheers

Soufiane




2013/10/21 Ted Ralphs <ted at lehigh.edu>

  Sorry, I guess my answer wasn't too clear on a few points. The bottom line is that you need a Fortran compiler to build Ipopt. If you want to build Ipopt with Visual Studio, the only way I have successfully done it is using the Intel Fortran compiler along with the Visual Studio compiler. There may be some other ways to do it (you can build MSVC++ compatible libraries with the MinGW compilers for instance, though I've never done it), but this is by far the easiest. Actually, the only way to build the whole stack "out of the box" with the Visual Studio compilers is to use the autotools and the MSys shell, i.e., not the Visual Studio IDE. Keep in mind, though, that the binaries for ipopt, Bonmin, Couenne, etc only work through AMPL. 


  To clarify one other point, the OS project is not just for building Web service applications. It provides libraries and binaries that work in the usual way, but wrap the other solvers and provide a uniform interface to them, including an XML-based format for specifying instances. I've cross-posted this to the more relevant lists in case others want to comment.


  Cheers,

  Ted







  On Mon, Oct 21, 2013 at 9:16 AM, soufiane khiat <soufiane.khiat at gmail.com> wrote:

    I can't use Intel Compiler for many reason (one of them is a non-optimal code for AMD http://en.wikipedia.org/wiki/Intel_C++_Compiler#Criticism).

    So I am constraint to use Visual Studio 2012 (v11), is not a problem for major part Coin-OR project's. I can automatically update to v11 from MSVisualStudio/v10 folder provided by projects.

    I don't need specially a binary (dll or/and lib) I prefer to build it my self with my own options, but many dependencies are not explicited, I know on linux it is very easy to compile anythink (sudo apt-get ...package...) I can get directly the correct package with dependencies after make + install all my dependencies are installed, but is not a case for major part of the people on Windows Environnement.

    I can't use a webservice I have to provide a standalone for users.

    I try to build all dependencies, but all are not specified, for exemple Bonmin need IpOpt and IpOpt need mpi etc...

    I saw some project delivered with Visual Studio and Full-Third Party include on one archive, I think this initiative could be generalized.


    Thanks for you time and your help


    Cheers,

    Soufiane





    2013/10/19 Ted Ralphs <ted at lehigh.edu>

      Bonmin can be built fairly easily on x64 if you have access to an Intel 64-bit compiler. Is there a reason you specifically need 64-bit binaries? I will shortly release an installer for 32-bit Windows versions of the COIN solvers built with the 32-bit Intel Fortran compiler and the 32-bit version of Visual Studio. If you need 64-bit, there will also be a 64-bit version built with MinGW. The binary of Bonmin can only be used through AMPL, however. You might take a look at the Optimization Services project (https://projects.coin-or.org/OS), which provides alternative interfaces to Bonmin and many of the other COIN solvers.


      Cheers,

      Ted




      On Fri, Oct 18, 2013 at 7:36 PM, soufiane khiat <soufiane.khiat at gmail.com> wrote:

        Hi,


        Yes indeed Bonmin look like what I need. But on windows it's a nightmare to build. And binary distribution do not provide any release for Visual Studio x64.


        Other project like:

        - LaGO

        - Couenne

        - NLPAPI
        ...


        Could provide a function to solve my MIQP ?


        Thanks for you help

        Soufiane





        2013/10/17 Stefan Vigerske <stefan at math.hu-berlin.de>

          Hi,

          you asked for an alternative interfaces to do MIQP with Cbc, not whether Cbc can solve your problem.
          I never tried solving (convex) MIQPs with Cbc. Within COIN-OR, I would probably go with Bonmin.

          Stefan 


          On 10/17/2013 07:46 PM, soufiane khiat wrote:

            Cbc do not allow us to solve this kind of problem?
            Or any package on Coin-OR?

            Thanks

            Soufiane


            2013/10/17 Mike Steglich <mike.steglich at berlin.de>


              An additional alternative for an open source MPL is CMPL (coliop.org).

              Mike

              Am 17.10.2013 um 16:26 schrieb Stefan Vigerske:


                Hi,

                you might want to look into algebraic modeling languages then, e.g.,
                Pyomo, ZIMPL for open source, and
                AIMMS, AMPL, GAMS for commercial.

                Stefan


                On 10/16/2013 08:18 PM, soufiane khiat wrote:

                  Hello,

                  I'm new on Optimization topic. I try to minimize:
                  ||Ax-b||_2
                  Subject to a list of constraint {B_i, L_ij, E_ij}:
                  B_i (each x_i could have a: no bound, min bound, max bound or both):
                  min_i<=x_i<=max_i

                  L_ij (with i != j, (i,j) On [1..N]):
                  x_i + x_j = u_ij With u_ij = {0 OR 1}

                  E_ij (with i != j, (i,j) On [1..N]):
                  u_i >= x_i
                  u_j >= x_j
                  u_i + u_j <= 1 With (u_i, u_j) is Binary variable like u_ij on L_ij.

                  I have no control on size of data, number of B_i, L_ij and E_ij it is

              only

                  a data.
                  A is a Matrix NxM, x and b is a vector. So I would like to find best as
                  possible x to satisfact this constraints.

                  My question is, how can I fill a CbcModel to describ this problem

              without

                  *.mps file?
                  It is possible to only provide a Matrix A and b?

                  Thanks for you answers.

                  Soufiane KHIAT
                  Software Engineer



                  _______________________________________________
                  Cbc mailing list
                  Cbc at list.coin-or.org
                  http://list.coin-or.org/mailman/listinfo/cbc



                _______________________________________________
                Cbc mailing list
                Cbc at list.coin-or.org
                http://list.coin-or.org/mailman/listinfo/cbc










        _______________________________________________
        Cbc mailing list
        Cbc at list.coin-or.org
        http://list.coin-or.org/mailman/listinfo/cbc





      -- 
      Dr. Ted Ralphs
      Associate Professor, Lehigh University
      (610) 628-1280
      ted 'at' lehigh 'dot' edu
      coral.ie.lehigh.edu/~ted





  -- 
  Dr. Ted Ralphs
  Associate Professor, Lehigh University
  (610) 628-1280
  ted 'at' lehigh 'dot' edu
  coral.ie.lehigh.edu/~ted




--------------------------------------------------------------------------------
_______________________________________________
Ipopt mailing list
Ipopt at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/ipopt
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/os/attachments/20131023/dc7949b9/attachment.html>


More information about the OS mailing list