Tôi đang tìm thư viện C++ và tôi đang xử lý các hàm mục tiêu và ràng buộc lồi.Thư viện tối ưu hóa lồi tốt là gì?
Trả lời
Tôi đoán vấn đề của bạn là phi tuyến tính. Khi tôi làm việc, chúng tôi sử dụng SNOPT, Ipopt và một người giải quyết độc quyền khác (không phải để bán). Chúng tôi cũng đã cố gắng và nghe những điều tốt đẹp về Knitro.
Miễn là vấn đề của bạn bị lồi, tất cả các bộ giải mã này hoạt động tốt.
Tất cả đều có API riêng của họ, nhưng tất cả đều yêu cầu cùng một thông tin: giá trị, dẫn xuất thứ nhất và thứ hai.
Từ những gì tôi biết, bộ giải CPLEX là bộ giải tối ưu hóa lồi tốt nhất. Đó là trạng thái của nghệ thuật trong giải quyết LP. Có lồi tối ưu hóa thực sự tốt. Trong khi tìm kiếm nó, tôi thấy rằng phần mềm của IBM của nó bây giờ. Bạn có thể tìm thấy nó ở đây: http://www-01.ibm.com/software/integration/optimization/cplex/
Bạn có thể tìm thấy các trình giải mã nguồn mở khác và các tiêu chí hiệu suất của chúng tại đây: http://plato.asu.edu/ftp/lpfree.html Ngoài ra, đừng quên kiểm tra http://code.msdn.microsoft.com/solverfoundation –
Tuyến tính ngụ ý lồi, không phải là cách khác xung quanh. –
cplex giải quyết các vấn đề lồi tuyến tính hoặc bậc hai. Nó rất nhanh, nhưng nó không xử lý các vấn đề lồi chung. –
Giả sử các vấn đề của bạn là phi tuyến, bạn có thể sử dụng mã nguồn mở miễn phí và có nguồn mở OPT++, có sẵn từ Sandia Lab. Tôi đã sử dụng nó trong một dự án trong C++ và nó rất dễ sử dụng và hoạt động tốt.
Bạn có thể sử dụng GSL
(GNU Scientific Library) với the packageNLopt
đó là một gói phần mềm tối ưu hóa phi tuyến với các ràng buộc bất bình đẳng phi tuyến không bị giới hạn, ràng buộc-hạn chế, và nói chung.
Hai ý kiến: Thứ nhất, Ý bạn là bạn có thể sử dụng GSL và NLOpt cùng nhau (GSL với NLOpt)? Họ dường như là các dự án riêng biệt. Họ có cùng tinh thần nhưng họ độc lập. Thứ hai, tác giả của NLOpt không khuyên bạn sử dụng NLOpt cho các vấn đề lồi, từ trang web: "NLopt chỉ bao gồm các phương thức chung không giả định lồi, nếu bạn gặp vấn đề lồi, bạn có thể tốt hơn với gói phần mềm khác , chẳng hạn như gói CVX từ Stanford. " http://ab-initio.mit.edu/wiki/index.php/NLopt_Introduction#Global_versus_local_optimization – alfC
- 1. Tối ưu hóa lồi CVX-esque trong R?
- 2. Tối ưu hóa ứng dụng iOS Cache.db trong đường dẫn cache của Thư viện là gì?
- 3. Trình tối ưu hóa JavaScript miễn phí tốt nhất có sẵn trong thư viện Java là gì?
- 4. Thư viện Tối ưu hóa Hình ảnh Nguồn Mở Java
- 5. Thư viện thân tàu lồi
- 6. Mã HTML tối ưu hóa hình ảnh tối ưu nhất cho SEO là gì?
- 7. Tìm kiếm các thư viện thực hiện tối ưu hóa tối thiểu tuần tự trong C++
- 8. Giới hạn tối ưu hóa sử dụng SIMD là gì?
- 9. Tối ưu hóa yêu cầu HTTP: Giới hạn là gì?
- 10. Thư viện để tối ưu hóa chuỗi (Thuật toán Boyer-Moore)
- 11. Tối ưu hóa jQuery
- 12. Tối ưu hóa CALayer?
- 13. Tối ưu hóa CVPixelBufferRef
- 14. Các thư viện tối ưu hóa phi tuyến tuần tự trong C++ VỚI các ràng buộc
- 15. Tối ưu hóa và cờ để tạo một thư viện tĩnh với g ++
- 16. tối ưu hóa quadprog
- 17. Tối ưu hóa ViewState
- 18. Thiết kế đa luồng có tối ưu hóa tốt không?
- 19. Tối ưu hóa mã PHP
- 20. Vòng unrolling & tối ưu hóa
- 21. Tối ưu hóa ABAP
- 22. Thư viện JavaScript hay plugin jQuery tốt cho cử chỉ cảm ứng là gì?
- 23. mysql tối ưu hóa bảng
- 24. Các công cụ tối ưu hóa PNG
- 25. Tối ưu hóa cờ vua
- 26. Thư viện mã hóa tốt nhất trong C/C++ là gì?
- 27. Thư viện trực quan hóa dữ liệu tốt cho iOS là gì?
- 28. Tối ưu hóa protobuf nào?
- 29. Thư viện Python tốt cho cây quyết định là gì?
- 30. Thư viện Java OXM tốt nhất là gì?
Bạn đã xem nó lần cuối ở đâu? –
Hầu hết các trình giải mã LP có cách riêng để xác định các bộ vấn đề. Giao diện có lập trình cho nó chủ yếu là lớp phủ đường. –
Tôi đang sử dụng cvxopt, và để cài đặt tôi vừa tải xuống các thư viện biên dịch sẵn từ http://www.lfd.uci.edu/~gohlke/pythonlibs/#cvxopt, sau đó đã cài đặt pip (bánh xe tải xuống), sau đó đảm bảo nhập gumpy trước khi sử dụng nó. – Phylliida