This question đến vào đúng thời điểm, vì tôi đang đấu tranh với tối ưu hóa. Tôi biết về các thói quen tối ưu hóa "bình thường" khác nhau trong R, và tôi nhận thức được các gói song song như tuyết, tuyết rơi, Rmpi và thích. Tuy nhiên, tôi đã không quản lý để có được một tối ưu hóa chạy song song trên máy tính của tôi.Tối ưu hóa song song trong R
Một số mã đồ chơi để minh họa:
f <- function(x) sum((x-1:length(x))^2)
a <- 1:5
optim(a,f)
nlm(f,a)
Những gì tôi muốn làm, là để parallelize các optim() chức năng (hoặc nlm() chức năng, mà không về cơ bản giống nhau). Hàm f() thực sự của tôi phức tạp hơn nhiều, và một vòng tối ưu hóa kéo dài khoảng nửa giờ. Nếu tôi muốn chạy mô phỏng 100 mẫu, mẫu đó sẽ có tuổi. Tôi muốn tránh phải viết thuật toán riêng Newton giống như tôi cho tính toán song song, vì vậy tôi hy vọng ai đó có thể cho tôi một số gợi ý về cách sử dụng tính toán song song cho bài toán tối ưu phức tạp trong R.
Tôi nghĩ này vấn đề có tính chất khác với bản chất trong câu hỏi liên quan. Yêu cầu của tôi được hướng cụ thể hướng tới tính toán song song, chứ không phải một số thay thế nhanh hơn cho tối ưu.
Nếu chức năng của bạn phức tạp hơn nhiều, bạn có thể song song nó thay vì 'tối ưu' không? –
@Joshua: thx, có thực sự là một chút song song có thể. Tuy nhiên, tôi cũng muốn sử dụng một số phương pháp tối ưu để tối ưu hóa, vì tôi phải tăng tốc độ ít nhất mười lần nữa để mô hình có thể thực hiện được trong các mô phỏng. –