2009-08-26 44 views
11

Tôi cần mã nguồn C++ mạnh mẽ của thuật toán simplex (là một thuật toán phổ biến cho giải pháp số của bài toán lập trình tuyến tính).Thuật toán LP Simplex trong C++

Vui lòng không có liên kết đến wikipedia. Tôi cần mã nguồn tốt trong C++, sử dụng các mẫu, tên người dùng thân thiện rõ ràng và hoạt động rất tốt.

Tốt hơn là thuật toán phải kiểm tra tính toán dấu phẩy động không ổn định.

+2

Cho chúng tôi biết bạn đã làm gì cho đến thời điểm này và những gì bạn đang gặp phải. –

+1

Vì vậy, bạn sẵn sàng trả bao nhiêu cho một người để viết điều này cho bạn? – Bombe

+2

Tôi hy vọng rằng có tồn tại một số mã miễn phí cho thuật toán nổi tiếng như vậy. –

Trả lời

8

Thư viện này là thư viện C++: http://soplex.zib.de. Nhưng giấy phép có một số hạn chế về sử dụng thương mại.

Điều này có giấy phép tự do, nhưng có trong C: http://aldebaran.devinci.fr/~cagnol/promotion2007/cs302/gsl/multimin/simplex.c.html Có lẽ bạn có thể viết một trình bao bọc mỏng.

+1

Sau này không phải là thuật toán đơn giản để giải quyết các vấn đề lập trình tuyến tính, nhưng thuật toán tối ưu hóa phi tuyến của [Nelder và Mead] (http://en.wikipedia.org/wiki/Simplex_algorithm) – marton78

6

Cơ sở hạ tầng tính toán cho nghiên cứu hoạt động (COIN-OR) cung cấp phần mềm nguồn mở cho cộng đồng nghiên cứu hoạt động, đặc biệt là về tối ưu hóa số. Dự án CLP, do John Forrest quản lý từ IBM, thực hiện thuật toán simplex cho lập trình tuyến tính trong C++.

+0

Tài nguyên tuyệt vời ở đó, cảm ơn! – patjbs

+0

Tôi biết đó là một chút cũ nhưng chỉ muốn nói rằng liên kết đã chết. –

4

Xem xét sử dụng thư viện C lpsolve. Nó không có trong C++, nhưng nó là bộ giải mã lập trình tuyến tính miễn phí ổn định và nổi tiếng nhất dựa trên phương thức simplex.