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
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.
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
0 个评论
另请参阅
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!