Lập trình hình học khác với lập trình lồi như thế nào?


10

Lập trình hình học (tổng quát) khác với lập trình lồi chung như thế nào?

Một chương trình hình học có thể được chuyển thành chương trình lồi và thường được giải bằng phương pháp điểm bên trong. Nhưng lợi thế của việc trực tiếp xây dựng vấn đề như một chương trình lồi và giải quyết nó bằng phương pháp điểm bên trong là gì?

Có phải lớp các chương trình hình học chỉ tạo thành một tập hợp con của lớp chương trình lồi có thể được giải quyết đặc biệt hiệu quả bằng các phương pháp điểm bên trong? Hoặc là lợi thế đơn giản là một chương trình hình học chung có thể dễ dàng được chỉ định ở dạng máy tính có thể đọc được.

Mặt khác, có các chương trình lồi không thể xấp xỉ hợp lý tốt bằng các chương trình hình học không?

Câu trả lời:


5

Tôi thực sự chưa bao giờ nghe nói về lập trình hình học cho đến câu hỏi này. Dưới đây là một bài viết đánh giá của Stephen Boyd, et al (Vandenberghe cũng là đồng tác giả), đó là một hướng dẫn về lập trình hình học.

Các chương trình hình học như thể hiện ban đầu không lồi. Ví dụ, là một posynomial, và nó không phải là lồi, vì vậy chương trình hình học không phải là một tập hợp con nghiêm ngặt của chương trình lồi.x1/2

Ưu điểm của việc chuyển đổi chương trình hình học thành chương trình lồi là chương trình hình học ban đầu không nhất thiết phải lồi. Nếu bạn đã giải quyết chương trình hình học dưới dạng chương trình phi tuyến (NLP), bạn sẽ cần sử dụng các phương pháp từ tối ưu hóa không lồi để đảm bảo giải pháp tối ưu toàn cầu. Các phương pháp này đắt hơn các phương pháp tối ưu hóa lồi, yêu cầu điều chỉnh thuật toán nhiều hơn và yêu cầu dự đoán ban đầu.

Hơn nữa, nếu bạn sử dụng thuật toán từ NLP không lồi, bạn sẽ cần chỉ định bộ khả thi của mình là một bộ nhỏ gọn trong ; trong các chương trình hình học, x > 0 là một ràng buộc hợp lệ.Rnx>0

Không rõ liệu tập hợp các chương trình hình học có ánh xạ (thông qua phép biến đổi theo cấp số mũ) thành một tập hợp các chương trình lồi có khả năng giải quyết đặc biệt hiệu quả hay không. Tôi không thấy bất kỳ lợi thế nào đối với lập trình hình học ngoài việc chuyển đổi sang các chương trình lồi.

Đối với câu hỏi cuối cùng của bạn, tôi không nghĩ rằng tập hợp các chương trình hình học là đồng hình với tập hợp các chương trình lồi, vì vậy tôi nghi ngờ rằng có những chương trình lồi không thể biểu thị dưới dạng chương trình hình học, và trong số các chương trình này, tôi nghi ngờ rằng có là một số không thể được xấp xỉ hợp lý bởi các chương trình hình học. Tuy nhiên, tôi không có bằng chứng hoặc mẫu phản.


Có vẻ như chương 8 của bài đánh giá được liên kết của bạn cố gắng giải quyết câu hỏi của tôi. Tuy nhiên, sau cái nhìn đầu tiên về nó, tôi có ấn tượng rằng thực sự bất kỳ chương trình lồi nào cũng có thể được xấp xỉ bằng một chương trình hình học (dĩ nhiên là biến đổi logarit ...). Tuy nhiên, vì bất kỳ chương trình tuyến tính nào "rõ ràng" cũng là một chương trình hình học, đây cũng có thể chỉ là một biến thể của tuyên bố rằng bất kỳ chương trình lồi nào cũng có thể được xấp xỉ bởi một chương trình tuyến tính, nhưng đó không phải là ý của tôi tốt".
Thomas Klimpel

Khi thuật ngữ lập trình hình học xuất hiện, thật không dễ để giải các chương trình lồi chung và cấu trúc đặc biệt có thể được khai thác. Bây giờ, tất nhiên, một khi người ta nhận ra rằng một chương trình là hình học, người ta sẽ biến nó thành một chương trình lồi và giải quyết cái sau bằng các phương pháp điểm bên trong.
Arnold Neumaier

3

f(x)1f(x)xy1xyx2y21


Lập trình hình học không phải là một tập hợp con nghiêm ngặt của lập trình lồi; tuy nhiên, theo phép biến đổi hàm mũ, các chương trình hình học biến đổi là các chương trình lồi.
Geoff Oxberry

Vâng, đó là những gì tôi muốn nói. Chỉnh sửa câu trả lời cho rõ ràng.
Chọn
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.