Sign up ×
Programmers Stack Exchange is a question and answer site for professional programmers interested in conceptual questions about software development. It's 100% free.

I have read about linear programming and its content and I wonder if this way of programming is common to use in the market? I often hear about object oriented programming but not linear programming.

I would like to hear a discussion about it.

share|improve this question

closed as not a real question by Mark Trapp Jan 12 '12 at 1:54

It's difficult to tell what is being asked here. This question is ambiguous, vague, incomplete, overly broad, or rhetorical and cannot be reasonably answered in its current form. For help clarifying this question so that it can be reopened, visit the help center.If this question can be reworded to fit the rules in the help center, please edit the question.

Can you provide context? Like where you read about it? The first thing that comes to mind with respect to the term "linear programming" is a mathematical optimization technique, and I'm pretty sure that's not what you meant. – In silico Sep 4 '11 at 10:06
@In silico: LP isn't so much a technique as a class of problems. There are many different techniques for solving LP problems. – David Hammen Sep 4 '11 at 13:31
One can be a generalist coder and never use LP (at least implicitly). They may arguably use a library that performs LP under the hood and not be aware of it. – Job Sep 4 '11 at 13:51
@David Hammen: Right. I say "a technique" because it's one of the many different optimization problems, but I agree, there's definitely more than one way to solve an LP problem. – In silico Sep 4 '11 at 22:23

2 Answers 2

up vote 12 down vote accepted

Linear programming is not a style of computer programming. It is a subclass of mathematical programming, which in turn is a subclass of mathematical optimization. A mathematical program is an optimization problem where the function to be optimized is subject to constraints. In linear programming, the function to be optimized is a linear function of the inputs, as are all of the constraint functions.

share|improve this answer

What David Hammen said. Your question doesn't make a lot of sense. E.g. would you program Shortest Path Programming or Dynamic Programming as opposed to Object Oriented programming? No these are just techniques for constructing algorithms. Similarly Linear Programming is just another technique for constructing algorithms. You probably heard of network flow problems (if not consult any algorithm text book) and these can all be modeled as more general linear programs that can be solved by linear programming. It is more efficient to use specialized network flow algorithms to solve them.

Supposedly linear programming is much more efficient now that some patents expired on newer techniques for solving those problems. You can generally find solver libraries to solve these problems for you.

People in operations research commonly use linear programming. For example, how do you assign people to teams where you have some information on how well each person fits in a team and you want to maximize the fit or minimize some cost (like pay for each team) over all the assignments? You can use linear programming to find the answer.

I used to work with a bunch of chemical engineers who in their previous job worked creating simulations of oil refineries. They would program optimization problems all the time.

So basically it is used primarily in optimization. But this is not a programming paradigm like object oriented, procedural, or functional. It is just another technique for solving algorithms like greedy, dynamic programming, divide and conquer, etc...

share|improve this answer

Not the answer you're looking for? Browse other questions tagged or ask your own question.