この質問は、ここに投稿された私の関連する質問に続くものです。@mhumは、私の問題がカバーする問題の領域に分類されることを示唆しました。質問を最小集合被覆問題にエンコードしようとしましたが、現在、次の形式のデータセットがあります。
Set Cost
(1,2) 1
(1) 1
(1,2,3) 2
(1) 2
(3,4) 2
(4) 3
(1,2) 3
(3,4) 4
(1,2,3,4) 4
目的は、すべての数値をカバーし、総コストを最小化しようとする適切な集合被覆を見つけることです。私のデータセットは大きく、このように少なくとも30000セット(サイズは5〜40要素の範囲)です。これを解決するための良い貪欲な実装はありますか、それとも私自身でこれを実装しますか?私はLPの専門家ではありませんが、これを解決できるLPソルバー(numpy / scipyから)も受け入れられます。