필터 지우기
필터 지우기

Feasibility problem of linear programming

조회 수: 7 (최근 30일)
Edgar
Edgar 2012년 6월 20일
Like the title says, I want to determine if there exists a solution to a set of linear inequalities.
A*x<=b
I am very concerned about speed because I will have to do this several times. I expect to have about 20-40 linear constraints each time I try to solve this problem.
My questions are:
1) is linprog() the fastest way to do this in Matlab? [~,~,EXITFLAG] = linprog([],A,b).
2) If I do use linprog() should I set the maximum number of iterations to 1 since I don't care about the solution?
3) If I do use linprog(), does it matter if I use 'simplex', large-scale', etc. algorithms? If so, what should I be using? I have read that interior-point algorithms determine if the problem has a solution "automatically" but I don't really know what that means.
*Edit: So I thought I'd give a little more detail about why I want to do this.
What I really want to do is to determine whether two shapes intersect: a hyperrectangle and a simplex (both in n dimensions). I've been converting the shapes into linear constraints and using linprog to see if a solution exists. This approach works but it is too slow. It takes about 0.3 seconds to compute. This is way too long because of the amount of times I have to solve this problem. Any advice on how to do this much faster would be greatly appreciated.
Thanks in advance,
-edgar

채택된 답변

Tiago Montanher
Tiago Montanher 2012년 6월 27일
Dear Edgar,
Once you have a small problem (20-40 lnear constraints) and I suppose you are an academic researcher, you may try to solve feasibility problem via linear programming algorithms from CPLEX. It is much better than linprog algorithm and you just need to change the calling line with any further modification of your code.

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Linear Programming and Mixed-Integer Linear Programming에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by