ドキュメンテーション

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

showproblem

構文

showproblem(prob)

説明

showproblem(prob) は、prob の目的関数、制約、および範囲を表示します。

すべて折りたたむ

目的関数と制約を含む最適化問題を作成し、その問題を表示します。

混合整数線形計画法の基礎: 問題ベースの問題を作成します。

steelprob = optimproblem;
ingots = optimvar('ingots',4,1,'Type','integer','LowerBound',0,'UpperBound',1);
alloys = optimvar('alloys',4,1,'LowerBound',0);
weightIngots = [5,3,4,6];
costIngots = weightIngots.*[350,330,310,280];
costAlloys = [500,450,400,100];
cost = costIngots*ingots + costAlloys*alloys;
steelprob.Objective = cost;
totalweight = weightIngots*ingots + sum(alloys);
carbonIngots = [5,4,5,3]/100;
carbonAlloys = [8,7,6,3]/100;
totalCarbon = (weightIngots.*carbonIngots)*ingots + carbonAlloys*alloys;
molybIngots = [3,3,4,4,]/100;
molybAlloys = [6,7,8,9]/100;
totalMolyb = (weightIngots.*molybIngots)*ingots + molybAlloys*alloys;
steelprob.Constraints.conswt = totalweight == 25;
steelprob.Constraints.conscarb = totalCarbon == 1.25;
steelprob.Constraints.consmolyb = totalMolyb == 1.25;

問題を表示します。

showproblem(steelprob)
  OptimizationProblem : 

	minimize :
       1750*ingots(1, 1) + 990*ingots(2, 1) + 1240*ingots(3, 1)
+ 1680*ingots(4, 1) + 500*alloys(1, 1) + 450*alloys(2, 1) + 400*alloys(3, 1)
+ 100*alloys(4, 1)

	subject to conswt:
       5*ingots(1, 1) + 3*ingots(2, 1) + 4*ingots(3, 1) + 6*ingots(4, 1)
+ alloys(1, 1) + alloys(2, 1) + alloys(3, 1) + alloys(4, 1) == 25

	subject to conscarb:
       0.25*ingots(1, 1) + 0.12*ingots(2, 1) + 0.2*ingots(3, 1)
+ 0.18*ingots(4, 1) + 0.08*alloys(1, 1) + 0.07*alloys(2, 1)
+ 0.06*alloys(3, 1) + 0.03*alloys(4, 1) == 1.25

	subject to consmolyb:
       0.15*ingots(1, 1) + 0.09*ingots(2, 1) + 0.16*ingots(3, 1)
+ 0.24*ingots(4, 1) + 0.06*alloys(1, 1) + 0.07*alloys(2, 1)
+ 0.08*alloys(3, 1) + 0.09*alloys(4, 1) == 1.25

	variable bounds:
       0 <= alloys(1, 1)
       0 <= alloys(2, 1)
       0 <= alloys(3, 1)
       0 <= alloys(4, 1)

       0 <= ingots(1, 1) <= 1
       0 <= ingots(2, 1) <= 1
       0 <= ingots(3, 1) <= 1
       0 <= ingots(4, 1) <= 1

入力引数

すべて折りたたむ

最適化問題。OptimizationProblem オブジェクトとして指定します。

例: prob = optimproblem; prob.Objective = obj; prob.Constraints.cons1 = cons1;

ヒント

  • showproblem は、次のすべての呼び出しに相当します。

  • 多くの範囲または制約がある変数の場合は、writeproblem を使用して目的関数、制約、および範囲の情報を含むテキスト ファイルを生成します。

R2017b で導入