Diese Frage kam zur richtigen Zeit, da ich mit Optimierung zu kämpfen habe auch. Ich bin mir der verschiedenen "normalen" Optimierungsroutinen in R bewusst, und mir sind parallele Pakete wie Schnee, Schneefall, Rmpi und dergleichen bekannt. Es ist mir jedoch nicht gelungen, eine Optimierung parallel auf meinem Computer laufen zu lassen.
Ein Spielzeugcode zur Veranschaulichung:
%Vor%Was ich tun möchte, ist die Funktion optimize () zu parallelisieren (oder die Funktion nlm (), die im Grunde die gleiche Funktion hat). Meine reale Funktion f () ist viel komplizierter und eine Optimierungsrunde dauert etwa eine halbe Stunde. Wenn ich eine Simulation von 100 Samples durchführen möchte, dauert es ewig. Ich würde es gerne vermeiden, meinen eigenen Newton-ähnlichen Algorithmus für das parallele Rechnen zu schreiben, also hoffe ich, dass mir jemand Hinweise geben könnte, wie man paralleles Rechnen für komplexe Optimierungsprobleme in R einsetzt.
Ich schätze, dass dieses Problem anders ist als das in der verwandten Frage. Meine Anfrage richtet sich speziell auf Parallel Computing, nicht eine schnellere Alternative für Optim.
Um meine eigene Frage zu beantworten:
Es gibt ein Paket in der Entwicklung, das vielversprechend aussieht. Es verfügt über Particle Swarm Optimization-Methoden und baut auf dem Rmpi-Paket für die parallele Berechnung auf. Es kann auf Rforge gefunden werden:
Es ist immer noch in der Beta AFAIK, aber es sieht vielversprechend aus. Ich werde es mir später ansehen, ich melde mich zurück, wenn ich mehr weiß. Trotzdem lasse ich die Frage offen, also wenn jemand anders eine andere Option hat ...
Sprint könnte von Interesse sein. Ich weiß nichts darüber, bin aber kürzlich darüber gestolpert.
Tags und Links optimization r parallel-processing