[Cbc] Linear System Constraint Least Square

soufiane khiat soufiane.khiat at gmail.com
Wed Oct 23 14:45:05 EDT 2013


Hello,

Have you find a way to build all the pipe to have a functionnal Bonmin lib
with MSys?
I try in my side, major part are built (Lapack, ...), but some dependencies
would not build. And For IpOpt I have compilation error from windows.h due
to Windows_SDK/8.0/ (VS2012) but I can partially compile it with Visual
Studio 2010 but I always need ipoptfss.lib. In the IpOptFSS.vcproj we have
Intel Dependencies so not buildable on Windows (for me).

And all binaries (of IpOpt) are provided with Intel MKL (non-free).

Cheer

Soufiane


2013/10/21 soufiane khiat <soufiane.khiat at gmail.com>

> Thanks !
>
> I try to stay "native" I know an another Python alternative (OpenOpt):
> http://openopt.org/Problems
> Thanks for your help.
> I will wait you MinGW x64 built.
>
> Thanks again
>
>
> 2013/10/21 Ted Ralphs <ted at lehigh.edu>
>
>> I forgot to mention that Coopr (projects.coin-or.org/Coopr) is a
>> Python-based modeling language that uses the AMPL solver library to
>> interface with Bonmin, Couenne, and Ipopt (I believe through the
>> OSAmplClient). This is probably your only free alternative and your best
>> bet for having modeling language support. It's quite a powerful modeling
>> environment. I've just recently built x64 binaries with MinGW for the whole
>> stack and am actively in the process of producing binaries and installers
>> for distribution. I'll post a message when that process is complete.
>>
>> Ted
>>
>>
>>
>> On Mon, Oct 21, 2013 at 3:26 PM, soufiane khiat <soufiane.khiat at gmail.com
>> > wrote:
>>
>>> 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<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<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
>>>>
>>>
>>>
>>
>>
>> --
>> Dr. Ted Ralphs
>> Associate Professor, Lehigh University
>> (610) 628-1280
>> ted 'at' lehigh 'dot' edu
>> coral.ie.lehigh.edu/~ted
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/cbc/attachments/20131023/b6360498/attachment.html>


More information about the Cbc mailing list