KnapsackSolve
KnapsackSolve[{cost1,cost2,…},maxtotalcost]
総費用が maxtotalcostを超えてはならないという制約条件のもとで,各 costiに関連付けられた品物の最大数を求めるナップサック問題を解く.
KnapsackSolve[{{payoff1,cost1},{payoff2,cost2},…},maxtotalcost]
総費用に関する制約条件を満足し総利益を最大にする品物数を求める.
KnapsackSolve[{{payoff1,cost1,maxcount1},…},maxtotalcost]
品物 i の個数が最大で maxcountiになることを許す.
KnapsackSolve[items,{maxtotalpayoff,maxtotalcost}]
総利益が maxtotalpayoff を超えない結果を求める.
KnapsackSolve[items,{maxtotalpayoff,maxtotalcost,maxtotalcount}]
合計個数が maxtotalcount を超えないという制約条件を加える.
KnapsackSolve[label1itemspec1,…,maxtotals]
各タイプの品物にラベルをつけ,結果を連想で与える.
詳細
- KnapsackSolveは,maxtotals で指定された制約条件に従って総利益額を最大にする非負の整数による個数 ci≤maxcountiのリスト{c1,c2,…}を求める.
- 利益額と費用はすべて,非負の実数かQuantityオブジェクトでなければならない.個数は非負の整数かInfinityでなければならない.
- 制約条件 maxtotals の可能な指定には,maxtotalcost,{maxtotalcost},{maxtotalpayoff,maxtotalcost},{maxtotalpayoff,maxtotalcost,maxtotalcount}がある.
- デフォルトで,payoffiは1であるとみなされる.最大制約はInfinityであるとみなされる.
- KnapsackSolveは,maxcountiが省略されるもしくはInfinityである場合は非有界のナップサック問題を,非負の整数の場合は有界ナップサック問題を,すべて1の場合は0-1ナップサック問題を解く.
- {payoffi,costi,maxcounti}の各集合は<"Payoff"->payoffi,"Cost"->costi,"MaxCount"->maxcounti >として与えることもできる."Payoff"と"MaxCount"は任意とする.
- 制約条件のパラメータ{maxtotalpayoff,maxtotalcost,maxtotalcount}は<"MaxTotalPayoff"->maxtotalpayoff,"MaxTotalCost"->maxtotalcost,"MaxTotalCount"->maxtotalcount >として与えることもできる."MaxTotalPayoff"と"MaxTotalCount"は任意とする
例題
すべて開くすべて閉じる例 (4)
スコープ (13)
利益,費用,個別費用 (6)
合計についての制約 (4)
規則のリストの代りにAssociationを使う:
数量と数量配列 (2)
データ集合 (1)
Datasetオブジェクトを使って項目の集合を指定する:
特性と関係 (5)
KnapsackSolveはLinearProgrammingの形式に等しい:
利益総額と費用総額は,指定されていなければInfinityに設定される:
maxtotalpayoff をInfinityに設定すると,解に可能な最大合計が返される:
費用と利益は非負の実数でよいが,個数は正の整数でなければならない:
KnapsackSolveは制約条件を満足する解を1つだけ返す:
テキスト
Wolfram Research (2016), KnapsackSolve, Wolfram言語関数, https://reference.wolfram.com/language/ref/KnapsackSolve.html.
CMS
Wolfram Language. 2016. "KnapsackSolve." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/KnapsackSolve.html.
APA
Wolfram Language. (2016). KnapsackSolve. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/KnapsackSolve.html