# Linearizing an equation for Mixed-integer linear programming (MILP)

Thread moved from the technical forums and poster has been reminded to show their work
Summary:: Linearizing an equation for MILP

Hi All

I have Linear programming problem where I need to linearise the following function: Y = A * log2(1 + (Bx/Cx^2)). where A, B and C are constants.

BvU
Homework Helper
Hello @zod123 ,
!​

If this is homework, you need to post an attempt at solution.
I, for one, would start simplifying Bx/Cx2 to (B/C) x3

Or did you mean Bx/(Cx2) and forgot the brackets ? In that case it of course simplifies to (B/C) / x

Do you know about differentation ? Taylor series ?
What is the range of x ? If x is not small and the range is big, then linearizing isn't possible

##\ ##

zod123 and berkeman
Hello @zod123 ,
!​

If this is homework, you need to post an attempt at solution.
I, for one, would start simplifying Bx/Cx2 to (B/C) x3

Or did you mean Bx/(Cx2) and forgot the brackets ? In that case it of course simplifies to (B/C) / x

Do you know about differentation ? Taylor series ?
What is the range of x ? If x is not small and the range is big, then linearizing isn't possible

##\ ##
Hello @BvU

Thank you for your response and is NOT homework.

X is large and the range is big.

BvU
Homework Helper
X is large and the range is big.

Ok, that answers one of the four questions. And it's not homework (what is it ?).

Let me assume you meant $$Y = A \; \log_2\left (1 + {B\over C} {1\over x}\right ) = A' \;\log\left (1 + {1\over x'}\right )$$ with
##A' = A /\log 2\ ## (from using ##\log_2 = \log_e/\log_e 2\ ## ) so we can write natural logarithms​
and ##x'= Cx/B\ ## (to get rid of B and C) .​
I drop the ' from now on (lazy me ... ) .

The standard approximation of ##\displaystyle {\log\left (1 + {1\over x}\right )}\ ## for large x is 1/x which doesn't linearize your Y in the sense that it gets you an expression of the form Y = ax + b.

If you want to force such a form nevertheless, you need to know about differentiation to do it analytically. The alternative is a numerical approach.

With us so far ?

##\ ##

Hello @BvU

I am with you so far.

RE the homework question: I am developing an app that optimises resource allocation using LP.

BvU