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

Click For Summary
SUMMARY

The discussion focuses on linearizing the equation Y = A * log2(1 + (Bx/Cx^2)) for Mixed-Integer Linear Programming (MILP). Participants suggest simplifying Bx/Cx^2 to (B/C) * x^3 or (B/C) / x, depending on the correct interpretation of the equation. The conversation emphasizes the importance of differentiation and Taylor series for linearization, especially when x is large and the range is extensive. A numerical approach is also proposed as an alternative to achieve a linear form.

PREREQUISITES
  • Understanding of Mixed-Integer Linear Programming (MILP)
  • Knowledge of logarithmic functions and their properties
  • Familiarity with differentiation and Taylor series
  • Basic concepts of numerical methods for approximation
NEXT STEPS
  • Study the properties of logarithmic functions in optimization contexts
  • Learn about Taylor series and their applications in linearization
  • Explore numerical methods for approximating nonlinear functions
  • Investigate resource allocation optimization techniques using MILP
USEFUL FOR

Mathematicians, operations researchers, software developers working on optimization algorithms, and anyone involved in resource allocation using linear programming techniques.

zod123
Messages
3
Reaction score
1
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.

Can you please help or advise?
 
Physics news on Phys.org
Hello @zod123 ,
:welcome: !​

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

##\ ##
 
  • Like
Likes   Reactions: zod123 and berkeman
BvU said:
Hello @zod123 ,
:welcome: !​

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.
 
zod123 said:
X is large and the range is big.

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

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 ... :wink: ) .

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.
 
Clear how you can approach ##1\over x## from a minimum ##x_{min}## to a maximum ##x_{max}## by a straight line ?

##\ ##
 

Similar threads

Replies
6
Views
2K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 5 ·
Replies
5
Views
2K
  • · Replies 6 ·
Replies
6
Views
3K
  • · Replies 1 ·
Replies
1
Views
1K
  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 4 ·
Replies
4
Views
2K
  • · Replies 14 ·
Replies
14
Views
2K
  • · Replies 16 ·
Replies
16
Views
4K
  • · Replies 10 ·
Replies
10
Views
2K