max matrix size for linear optimization

3 次查看(过去 30 天)
I am using Matlab linear optimization function linprog to optimize matrix of the following dimension:
1. Objective function: 1 x 5110
2. equality constraint size: Aeq: 2347 x 5110 Beq: 2347 x 1
3. inequality constraint size: A: 567 x 5110 B: 567 x 1
4. Lower bound size: lb: 5110 x 1
5. upper bound size: ub: 5110 x 1
6. total number of matrix elements: 14,908,784
7. no of variables: 5110
all data has a double data type.
I received an error message saying OUT OF MEMORY when the program tries to form the equality matrix. I am using 32 bit machine with 32 bit MATLAB version. I was using a 2GB RAM but later changed to 4GB and got no change. so:
1. is the limitation on my hardware or on the MATLAB forming the matrices? what shall i do to solve it?
2. I also can't run my matlab program on a 64 bit machine with 64 bit matlab program. It has a problem of connecting to a database buit on Ms Access. It only reads the first three lines of the database. I figured out such problems happen when the Ms Access has an activation problem but mine is activated and i even installed Ms Acess 2013 activate it and nothing changes.
please send ur advice if u have any solution on both the above problems.
Thanks

回答(2 个)

Roger Wohlwend
Roger Wohlwend 2014-11-18
You try to solve an optimizing problem with over 5000 variables? I am not surprised that Matlab cannot do that. I think you have to re-consider your problem entirely. It does not make sense to set up an optimization with over 5000 variables. I doubt that there is a solution to such a huge optimization. Are you sure you are doing the right thing? Because in my opinion the problem is not Matlab and the hardware limitation but your model.
  1 个评论
Ashenafi Alemu
Ashenafi Alemu 2014-11-18
Thanx for the response. With due respect either u donno MATLAB optimization well or u haven't understood my question. I have already solved a problem with more than 4000 variables but i can't pinpoint its problem regarding connection with Access (specially the 64 bit) and limitation of using the available memory by MATLAB(if any). SO i don't buy your idea.

请先登录,再进行评论。


Alan Weiss
Alan Weiss 2014-11-18
Is your matrix Aeq sparse? I mean, does it have a large number of zeros? If so, use sparse matrices Aeq and A.
Alan Weiss
MATLAB mathematical toolbox documentation

类别

Help CenterFile Exchange 中查找有关 Solver Outputs and Iterative Display 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by