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

In summary, in order to find a straight line that minimizes the given function over a given range, you would need to know about differentiation and how to approach the minimum and maximum values.
  • #1
zod123
3
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
  • #2
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 zod123 and berkeman
  • #3
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.
 
  • #4
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 ?

##\ ##
 
  • #5
Hello @BvU

I am with you so far.

RE the homework question: I am developing an app that optimises resource allocation using LP.
 
  • #6
Clear how you can approach ##1\over x## from a minimum ##x_{min}## to a maximum ##x_{max}## by a straight line ?

##\ ##
 

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

What is Mixed-integer linear programming (MILP)?

Mixed-integer linear programming (MILP) is a mathematical optimization technique that involves finding the optimal solution to a problem with both continuous and discrete variables. It is commonly used in fields such as operations research, engineering, and economics.

How do you linearize an equation for MILP?

To linearize an equation for MILP, you need to first identify any nonlinear terms, such as products or powers, and replace them with linear approximations. This can be done using techniques such as piecewise linearization, convexification, or big-M method.

Why is it important to linearize equations for MILP?

Linearizing equations for MILP is important because MILP solvers can only handle linear equations. By linearizing nonlinear equations, we can transform the problem into a form that can be solved using efficient and reliable algorithms.

What are the challenges in linearizing equations for MILP?

The main challenge in linearizing equations for MILP is finding a good approximation that preserves the structure and constraints of the original problem. This can be difficult for highly nonlinear functions or when dealing with large-scale problems.

Are there any tools or software available for linearizing equations for MILP?

Yes, there are various tools and software available for linearizing equations for MILP, such as GAMS, AMPL, and MATLAB. These tools offer built-in functions and algorithms for linearization, making it easier and more efficient to solve MILP problems.

Similar threads

Replies
3
Views
1K
Replies
5
Views
2K
Replies
6
Views
2K
Replies
6
Views
2K
Replies
4
Views
2K
Replies
10
Views
2K
Replies
16
Views
4K
Back
Top