Những chương trình tuyến tính Integer nào dễ?


13

Trong khi cố gắng giải quyết vấn đề, cuối cùng tôi đã thể hiện một phần của nó như là chương trình tuyến tính số nguyên sau đây. Dưới đây là tất cả các số nguyên dương được cho là một phần của đầu vào. Một tập hợp con được chỉ định của các biến x i j được đặt thành 0 và phần còn lại có thể lấy các giá trị tích phân dương:,m,n1,n2,Giáo dục,n,c1,c2,Giáo dục,cm,wxTôij

Giảm thiểu

Σj= =1mcjΣTôi= =1xTôij

Theo:

Σj= =1mxTôij= =nTôiTôi

ΣTôi= =1xTôijwj

Tôi muốn biết nếu chương trình số nguyên này có thể giải được trong thời gian đa thức; vấn đề ban đầu của tôi được giải quyết nếu có, và tôi phải thử một số cách khác nếu không. Vì vậy, câu hỏi của tôi là:

Làm thế nào để tôi tìm ra nếu một chương trình tuyến tính số nguyên nhất định có thể được giải quyết trong thời gian đa thức? Những chương trình tuyến tính số nguyên được biết là dễ dàng? Cụ thể, chương trình trên có thể được giải trong thời gian đa thức không? Bạn có thể chỉ cho tôi một số tài liệu tham khảo về điều này?

Câu trả lời:


16

Đây là một trường hợp đặc biệt của vấn đề vận chuyển (hoặc vấn đề dòng chảy chi phí tối thiểu), và do đó có thể được giải quyết trong thời gian đa thức. Ma trận hệ số hoàn toàn không có hình dạng vì nó là ma trận tần suất của đồ thị lưỡng cực.

Các bài viết Wikipedia sau đây có thể hữu ích.


1
@Yoshio: Cảm ơn bạn, câu trả lời cho trường hợp vấn đề cụ thể của tôi (một khi tôi đã tự xác minh nó). Bạn có biết các điều kiện khác ngoài tổng thể không cân bằng mà đảm bảo một giải pháp thời gian đa thức?
gphilip

2
@gphilip: Tôi sẽ tóm tắt các câu hỏi này bằng thuật ngữ "tính tích hợp của khối đa diện" và tài liệu về chủ đề này là rất lớn. Cuốn sách "Tối ưu hóa kết hợp: Đóng gói và bao phủ" của Gerard Cornuejols (xuất bản năm 2001) mô tả một số kết quả dọc theo dòng này.
Yoshio Okamoto

@Yoshio: Bạn có thể cho tôi biết lý do tại sao bạn nghĩ rằng ma trận hệ số là ma trận tần suất của đồ thị lưỡng cực? Xin tha thứ cho sự thiếu hiểu biết của tôi, nhưng để nói về một ma trận hệ số, trước tiên chúng ta không phải chuyển đổi tất cả các ràng buộc sang dạng chuẩn ( )? Khi chúng tôi thực hiện điều đó, ma trận sẽ có -1 mục, và sau đó nó không khớp với định nghĩa của ma trận tỷ lệ mắc (AFAIK). Hay đó là trường hợp mà chúng ta có thể nói về ma trận hệ số mà không cần chuyển đổi các ràng buộc đầu tiên sang dạng chuẩn? Mộtxb
gphilip

1
@gphilip: Xin lỗi. Tôi đã thực hiện một lối tắt ngầm, và tôi đã nói về ma trận hệ số mà không chuyển đổi sang dạng chuẩn. Tôi đã sử dụng các lối tắt sau đây. (1) Nếu hoàn toàn không có hình dạng (viết tắt là TU), thì - A cũng là TU, có nghĩa là chúng ta không phải quan tâm đến hướng bất bình đẳng. (2) Nếu A là TU, thì [ A - A ] cũng là TU, có nghĩa là chúng ta không phải quan tâm đến các ràng buộc bình đẳng. (3) Mỗi ​​hàm con của ma trận TU là TU. Áp dụng các quy tắc này cho ma trận tần suất của đồ thị lưỡng cực sẽ chứng minh tính chất cho dạng chuẩn. Một-MộtMột[Một|-Một]
Yoshio Okamoto

1
Hãy để tôi thay đổi các quy tắc cắt ngắn của tôi như sau. (1) Sao chép một hàng duy trì tổng số không tương đồng. (2) Đảo ngược dấu hiệu của một hàng duy trì tổng số không tương xứng. Họ nên làm công việc.
Yoshio Okamoto

8

Nói chung, thật khó để nói. Nhưng một điều kiện đủ là ma trận ràng buộc của bạn hoàn toàn không có hình dạng và phía bên phải luôn là số nguyên (trong trường hợp này, phía bên phải là số nguyên, nhưng bạn vẫn phải kiểm tra về tính không cân bằng)

Bạn nên xem cái này: http://en.wikipedia.org/wiki/Linear_program#Integer_unknowns


Tôi đã suy nghĩ về ma trận của bạn và nó trông hoàn toàn không giống nhau.
Vinicius dos Santos

@Vinicius: Bạn có thể cho tôi biết lý do tại sao ma trận trông hoàn toàn không giống với bạn không? Tôi không thể hiểu điều này, bất chấp nhận xét của Yoshio (vui lòng xem phản hồi của tôi ở đó).
gphilip

@gphilip: Tại en.wikipedia.org/wiki/Unimodular_matrix trong phần "Ma trận hoàn toàn không phổ biến chung", mục đầu tiên liệt kê 4 điều kiện đủ để một ma trận không đơn giản. Tôi nghĩ rằng những điều kiện này, cùng với các phím tắt mà Yoshio nhận xét, là đủ để cho thấy rằng vấn đề có thể được giải quyết trong thời gian đa thức.
Vinicius dos Santos

@gphilip: Động lực cho Chương trình tuyến tính này là gì?
Vinicius dos Santos

@Vinicius: Chúng tôi đang cố gắng giải quyết một vấn đề theo các thuật ngữ sửa đổi một ma trận đầu vào theo một cách nhất định để có được một ma trận khác với một số thuộc tính tốt. LP này xuất phát từ một vấn đề phụ trong quá trình này.
gphilip

2

Một chương trình số nguyên chỉ có các đẳng thức có thể được giải bằng chương trình tuyến tính.


điều này có vẻ quan trọng vì lợi ích riêng của nó.
T ....

2
Tôi sẽ không gọi đó là một chương trình số nguyên. Đây là một hệ thống các phương trình tuyến tính trên các số nguyên, có thể giải quyết một cách hiệu quả bằng cách tính toán dạng bình thường Hermite.
Sasho Nikolov

2
@SashoNikolov một trường hợp thoái hóa nhưng chắc chắn là một trường hợp hợp lệ mặc dù.
T ....

Tại sao bỏ phiếu tiêu cực?
T ....
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.