[Cmpl] Linearise nonlinear objective function (Indrajit Sen Gupta)

Peter Meldrum peter.meldrum at googlemail.com
Mon Mar 9 12:39:01 EDT 2015


Indrajit:

Based on the information provided about the formulation, one simple option
you could try is substituting with another variable to represent the
nonlinear term:

Z[j,k] = x[j] * x[k]

The objective function will become linear in Z[j,k] and x[k]. Writing this
in longer form for greater clarity:

Constant *x[k] - Constant * Z[j,k]

Then add simple constraints to enforce the needed relationship between
Z[j,k] and x[j] and x[k].

I will leave this last part for you to do as an exercise. If you're not sure
about the last part, please ask again.

Best regards,
Peter

-----Original Message-----
From: cmpl-bounces at list.coin-or.org [mailto:cmpl-bounces at list.coin-or.org]
On Behalf Of cmpl-request at list.coin-or.org
Sent: 09 March 2015 16:00
To: cmpl at list.coin-or.org
Subject: Cmpl Digest, Vol 31, Issue 4

Send Cmpl mailing list submissions to
	cmpl at list.coin-or.org

To subscribe or unsubscribe via the World Wide Web, visit
	http://list.coin-or.org/mailman/listinfo/cmpl
or, via email, send a message with subject or body 'help' to
	cmpl-request at list.coin-or.org

You can reach the person managing the list at
	cmpl-owner at list.coin-or.org

When replying, please edit your Subject line so it is more specific than
"Re: Contents of Cmpl digest..."


Today's Topics:

   1. Linearizing a nonlinear objective function (Indrajit Sen Gupta)
   2.  Benchmark / Statistics (Thorsten)
   3. [CMPL] Readcsv error (Thorsten)


----------------------------------------------------------------------

Message: 1
Date: Mon, 9 Mar 2015 12:05:32 +0530
From: Indrajit Sen Gupta <indrajitsg at gmail.com>
To: "cmpl at list.coin-or.org" <cmpl at list.coin-or.org>
Subject: [Cmpl] Linearizing a nonlinear objective function
Message-ID:
	<CAB-BrmcAJ_sttf_-SthBwvuorvnbPht6J_j+pu6RWYAwhaEEMA at mail.gmail.com>
Content-Type: text/plain; charset="utf-8"

Hi All,

I had a basic question regarding linearizing non-linear objective functions.
Currently the software that we have is running into issues as it does not
support non-linear objective function along with binary decision variables.

One part of the objective function looks something like this:

constant * (1 - x[j]) * x[k]

where x's are binary variables (0/1). Is there a way to linearize the
objective function in such situations?

Regards,
Indrajit
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://list.coin-or.org/pipermail/cmpl/attachments/20150309/1bb010b3/attach
ment-0001.html>

------------------------------

Message: 2
Date: Mon, 9 Mar 2015 10:07:01 +0100
From: Thorsten <thorten at hotmail.com>
To: "cmpl at list.coin-or.org" <cmpl at list.coin-or.org>
Subject: [Cmpl]  Benchmark / Statistics
Message-ID: <DUB123-W434C9ABE063C9057693783B11B0 at phx.gbl>
Content-Type: text/plain; charset="iso-8859-1"


Hi Mike,

thank you very much indeed for the quick reply! I scanned the appendix for
CBC-Parameters but couldn't find a suitable one which enables me to get the
required information. Even increasing the log(Level) to maximum doesn't
provide the neccessary information. Do you possibly have a hint or idea in
mind for a CBC-Command to get me the programs lower bound and the gap?
Thanks for your support!

Best regards,
Thorsten

Hi Thorsten,

You can find these information in the Cbc output. Cmpl does not provide
functionalities to get it directly within a Cmpl model.

Cheers,

Mike



> Am 06.03.2015 um 16:57 schrieb Thorsten <thorten at hotmail.com>:
> 
> Dear CMPL-Community,
> 
> I have implemented a capacitated vehicle routing problem with time windows
in CMPL and it runs within coliop. In my thesis I want to compare the
performance of CMPL and the CBC-solver with the performance of Fico Xpress.
For the numerical analysis I will need some more statistics than I am able
to get so far. Besides the objective value and the running time of the model
I will need the Lower bound of the program and the gap. Can you probably
help me how I can have these values printed out?
> Thank you very much in advance,
> Thorsten 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://list.coin-or.org/pipermail/cmpl/attachments/20150309/25390df5/attach
ment-0001.html>

------------------------------

Message: 3
Date: Mon, 9 Mar 2015 10:12:18 +0100
From: Thorsten <thorten at hotmail.com>
To: "cmpl at list.coin-or.org" <cmpl at list.coin-or.org>
Subject: [Cmpl] [CMPL] Readcsv error
Message-ID: <DUB123-W19BD131338FFFD8FDBF555B11B0 at phx.gbl>
Content-Type: text/plain; charset="iso-8859-1"

Hi folks!

I am trying to read parameters from a csv-file and have therefore
implemented the following code:
serv[]:=        readcsv("Dist5C.csv");

Unfortunately I get the following error message:
error (input/output): file Minnertry5C.cmpl line 18: Input file 'Dist5C.csv'
not found

The csv-file is in the same directory as the cmpl-file.
Does anybody have an idea what the problem could be?

Best regards,
Thorsten

 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL:
<http://list.coin-or.org/pipermail/cmpl/attachments/20150309/6be7d5d2/attach
ment-0001.html>

------------------------------

_______________________________________________
Cmpl mailing list
Cmpl at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/cmpl

End of Cmpl Digest, Vol 31, Issue 4
***********************************
-----
No virus found in this message.
Checked by AVG - www.avg.com
Version: 2015.0.5646 / Virus Database: 4299/9259 - Release Date: 03/09/15



More information about the Cmpl mailing list