主要内容gydF4y2Ba

最新のリリースでは,このページがまだ翻訳されていません。gydF4y2Baこのページの最新版は英語でご覧になれます。gydF4y2Ba

混合整数線形計画法の基礎:ソルバーベースgydF4y2Ba

この例では,混合整数線形問題を解く方法を説明します。この例は複雑ではありませんが,gydF4y2BaintlinproggydF4y2Baの構文を使用して問題を定式化する一般的な手順を示しています。gydF4y2Ba

この問題への問題ベースのアプローチについては,gydF4y2Ba混合整数線形計画法の基礎:問題ベースgydF4y2Baを参照してください。gydF4y2Ba

问题の明明gydF4y2Ba

さまざまな化学組成の鋼鉄を融合して,特定の化学組成の25トンの鋼鉄を精製するものとします。精製された製品には,重量で炭素5%とモリブデン5%(つまり,炭素が25トン* 5% = 1.25トン,モリブデンが1.25トン)が含まれている必要があります。目的は鋼鉄の融合コストを最小化することです。gydF4y2Ba

维斯特伯格Carl-Henrikこの問題は,说比约克隆德およびEskil Hultman”gydF4y2Ba混合整数规划在瑞典某钢厂的应用gydF4y2Ba1977年2月“接口7卷,2号页39-43から引用されたものです。これらの要旨はgydF4y2Bahttps://doi.org/10.1287/inte.7.2.39gydF4y2Baで参照できます。gydF4y2Ba

このために4つの鋼鉄のインゴットを購入できます。各インゴットの1つしか利用できません。gydF4y2Ba

我gydF4y2Ba ngydF4y2Ba ggydF4y2Ba ogydF4y2Ba tgydF4y2Ba WgydF4y2Ba egydF4y2Ba 我gydF4y2Ba ggydF4y2Ba hgydF4y2Ba tgydF4y2Ba 我gydF4y2Ba ngydF4y2Ba TgydF4y2Ba ogydF4y2Ba ngydF4y2Ba 年代gydF4y2Ba %gydF4y2Ba CgydF4y2Ba 一个gydF4y2Ba rgydF4y2Ba bgydF4y2Ba ogydF4y2Ba ngydF4y2Ba %gydF4y2Ba 米gydF4y2Ba ogydF4y2Ba lgydF4y2Ba ygydF4y2Ba bgydF4y2Ba dgydF4y2Ba egydF4y2Ba ngydF4y2Ba ugydF4y2Ba 米gydF4y2Ba CgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba tgydF4y2Ba TgydF4y2Ba ogydF4y2Ba ngydF4y2Ba 1gydF4y2Ba 5gydF4y2Ba 5gydF4y2Ba 3.gydF4y2Ba $gydF4y2Ba 3.gydF4y2Ba 5gydF4y2Ba 0gydF4y2Ba 2gydF4y2Ba 3.gydF4y2Ba 4gydF4y2Ba 3.gydF4y2Ba $gydF4y2Ba 3.gydF4y2Ba 3.gydF4y2Ba 0gydF4y2Ba 3.gydF4y2Ba 4gydF4y2Ba 5gydF4y2Ba 4gydF4y2Ba $gydF4y2Ba 3.gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba 4gydF4y2Ba 6gydF4y2Ba 3.gydF4y2Ba 4gydF4y2Ba $gydF4y2Ba 2gydF4y2Ba 8gydF4y2Ba 0gydF4y2Ba

3つのグレードの合金および1つのグレードの鋼鉄くずを購入できます。合金と鋼鉄くずは分割して購入できます。gydF4y2Ba

一个gydF4y2Ba lgydF4y2Ba lgydF4y2Ba ogydF4y2Ba ygydF4y2Ba %gydF4y2Ba CgydF4y2Ba 一个gydF4y2Ba rgydF4y2Ba bgydF4y2Ba ogydF4y2Ba ngydF4y2Ba %gydF4y2Ba 米gydF4y2Ba ogydF4y2Ba lgydF4y2Ba ygydF4y2Ba bgydF4y2Ba dgydF4y2Ba egydF4y2Ba ngydF4y2Ba ugydF4y2Ba 米gydF4y2Ba CgydF4y2Ba ogydF4y2Ba 年代gydF4y2Ba tgydF4y2Ba TgydF4y2Ba ogydF4y2Ba ngydF4y2Ba 1gydF4y2Ba 8gydF4y2Ba 6gydF4y2Ba $gydF4y2Ba 5gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba 2gydF4y2Ba 7gydF4y2Ba 7gydF4y2Ba $gydF4y2Ba 4gydF4y2Ba 5gydF4y2Ba 0gydF4y2Ba 3.gydF4y2Ba 6gydF4y2Ba 8gydF4y2Ba $gydF4y2Ba 4gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba 年代gydF4y2Ba cgydF4y2Ba rgydF4y2Ba 一个gydF4y2Ba pgydF4y2Ba 3.gydF4y2Ba 9gydF4y2Ba $gydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba

問題を定式化するには,まず制御変数を決定します。変数gydF4y2Bax (1) = 1gydF4y2Baを取るとインゴットgydF4y2Ba1gydF4y2Baの購入を意味し,gydF4y2Bax (1) = 0gydF4y2Baを取るとインゴットを購入しないことを意味します。同様に,変数gydF4y2Bax (2)gydF4y2Ba~gydF4y2Bax (4)gydF4y2Baは,インゴットgydF4y2Ba2gydF4y2Ba~gydF4y2Ba4gydF4y2Baを購入するかどうかを示す2値変数です。gydF4y2Ba

変数gydF4y2Bax (5)gydF4y2Ba~gydF4y2Bax (7)gydF4y2Baは購入する合金gydF4y2Ba1gydF4y2Ba、gydF4y2Ba2gydF4y2Ba,およびgydF4y2Ba3.gydF4y2Baの量をトン単位で示し,gydF4y2Bax (8)gydF4y2Baは購入する鋼鉄くずの量を示します。gydF4y2Ba

MATLAB®での定式化gydF4y2Ba

intlinproggydF4y2Baの入力を指定することにより問題を定式化します。関連するgydF4y2BaintlinproggydF4y2Ba構文は次のとおりです。gydF4y2Ba

[x, fval] = intlinprog (f intcon A、b Aeq,说真的,磅,乌兰巴托)gydF4y2Ba

intlinproggydF4y2Baの入力を最初(gydF4y2BafgydF4y2Ba)から最後(gydF4y2Ba乌兰巴托gydF4y2Ba)まで作成します。gydF4y2Ba

fgydF4y2Baはコスト係数のベクトルです。インゴットのコストを表す係数はインゴットの重量 x トン当たりコストです。

f = (350 * 5330 * 3310 * 4280 * 6500450400100);gydF4y2Ba

整数値は最初の4つです。gydF4y2Ba

intcon = 1:4;gydF4y2Ba

ヒント:gydF4y2Ba2値変数を指定するには,gydF4y2BaintcongydF4y2Baの変数が整数となるように設定し,下限にgydF4y2Ba0gydF4y2Ba上,限にgydF4y2Ba1gydF4y2Baを指定します。gydF4y2Ba

この問題には線形不等式制約はないので,gydF4y2Ba一个gydF4y2BaとgydF4y2BabgydF4y2Baは空の行列(gydF4y2Ba[]gydF4y2Ba)になります。gydF4y2Ba

一个= [];b = [];gydF4y2Ba

この問題には3つの等式制約があります。最初の制約は総重量が25トンであることです。gydF4y2Ba

5 * x (1) + 3 * x (2) + 4 * x (3) + 6 * x (4) + (5) + x (6) + x (7) + (8) = 25gydF4y2Ba

2番目の制約は炭素の重量が25トンの5%(1.25トン)であることです。gydF4y2Ba

5 * 0.05 * (1) + 3 * 0.04 * x (2) + 4 * 0.05 * x (3) + 6 * 0.03 * (4)gydF4y2Ba

+ 0.08 * 0.07 x (5) + * x (6) + 0.06 * (7) x (8) = 1.25 + 0.03 *gydF4y2Ba

3番目の制約はモリブデンの重量が1.25トンであることです。gydF4y2Ba

5 * 0.03 * (1) + 3 * 0.03 * x (2) + 4 * 0.04 * x (3) + 6 * 0.04 * (4)gydF4y2Ba

+ 0.06 * 0.07 x (5) + * x (6) + 0.08 * (7) x (8) = 1.25 + 0.09 *gydF4y2Ba

この制約をAeq * x = beqという行列形式で指定します。gydF4y2Ba

Aeq =[5, 3、4、6,1,1,1,1;5 * 0.05, 3 * 0.04, 4 * 0.05, 6 * 0.03, 0.08, 0.07, 0.06, 0.03;5 * 0.03, 3 * 0.03, 4 * 0.04, 6 * 0.04, 0.06, 0.07, 0.08, 0.09);说真的= (25;1.25;1.25);gydF4y2Ba

各変数は0以下に制限されます。整数変数は1以上に制限されます。gydF4y2Ba

1磅= 0(8日);乌兰巴托= 1 (8,1);乌兰巴托(5:结束)=正;gydF4y2Ba%非整型变量没有上限gydF4y2Ba

問題を解くgydF4y2Ba

すべての入力を指定したら,ソルバーを呼び出します。gydF4y2Ba

[x, fval] = intlinprog (f intcon A、b Aeq,说真的,磅,乌兰巴托);gydF4y2Ba
LP:最佳目标值为8125.60万。切割生成:应用3个mir切割。下界是8495000000。相对差距为0.00%。找到最优解。Intlinprog在根节点停止,因为客观值在最优值options的间隙公差范围内。AbsoluteGapTolerance = 0(默认值)。intcon变量是在公差选项内的整数。IntegerTolerance = 1e-05(默认值)。gydF4y2Ba

解を表示します。gydF4y2Ba

x, fvalgydF4y2Ba
x =gydF4y2Ba8×1gydF4y2Ba1.0000 1.0000 0 1.0000 7.2500 0 0.2500 3.5000gydF4y2Ba
fval = 8.4950 e + 03gydF4y2Ba

8495美元最適購入コストはです。インゴットgydF4y2Ba1gydF4y2Ba、gydF4y2Ba2gydF4y2Ba、gydF4y2Ba4gydF4y2Baを購入し,gydF4y2Ba3.gydF4y2Baを購入しません。合金gydF4y2Ba1gydF4y2Ba7.25をトン,合金gydF4y2Ba3.gydF4y2Ba0.25をトン,鋼鉄くずを3.5トン購入します。gydF4y2Ba

intcon = []gydF4y2Baを設定し,整数制約なしで問題を解く効果を確認します。インゴットの断片を購入できないため、解は異なるものになり、現実的ではありません。

関連するトピックgydF4y2Ba