2013-08-29 1 views
0

Я пытаюсь оптимизировать свою модель с 30000 переменными и 1700 противопоказаниями, но у меня возникла эта ошибка, когда я добавил еще несколько контрацептивов.Ошибка линейного программирования (lpSolve) с использованием больших данных в R

n<-lp ("max", f.obj, f.con, f.dir, f.rhs)$solution 
Error: cannot allocate vector of size 129.9 Mb 

Я работаю в выигрыше 32 бит, 2 гб бара. Что я могу сделать, чтобы работать и оптимизировать мою модель, используя большой набор данных?

+0

В зависимости от того, где возникла ваша проблема, вы можете разложить его (приблизительно) на множество меньших проблем. Это относится, например, к линейным программам , связанным с некоторыми проблемами стохастической оптимизации ([прогрессивное хеджирование] (http://mpc.zib.de/index.php/MPC/article/download/85/39)). –

ответ

1

Это крошечная машина по современным меркам и нежная проблема. Короткий ответ заключается в том, что вы должны запускаться на машине с гораздо большим объемом оперативной памяти. Обратите внимание, что проблема заключается не в том, что R не может выделять 130 МБ векторов в целом - он может - это то, что на вашем конкретном компьютере закончилась нехватка памяти.

Я предлагаю запустить 64-разрядный экземпляр R 3.0 на машине с 16 ГБ ОЗУ и посмотреть, поможет ли это.

Возможно, вы захотите взглянуть на вращающуюся машину в облаке и дистанционно используя RStudio, что будет намного дешевле, чем покупка нового компьютера.