主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

OptimizationVariable

説明

OptimizationVariableオブジェクトには最適化式用の変数が含まれます。式を使用して,目的関数,制約,または方程式を表します変数はシンボリックな性質をも,任意のサズの配列にすることができます。

ヒント

完全なワクフロにいては,問題ベスの最適化ワクフロまたは方程式を解くための問題ベスのワクフロを参照してください。

作成

optimvarを使用して,OptimizationVariableオブジェクトを作成します。

プロパティ

すべて展開する

配列全体のプロパティ

このプロパティは読み取り専用です。

変数名。字符串または文字ベクトルとして指定します。

的名字は,显示などで表示される変数ラベルです。的名字は,解决が返す解の構造体のフィ,ルド名にもなります。

ヒント

混乱を避けるために,的名字をMATLAB®変数名になるように設定します。たとえば,

金属= optimvar(“金属”

デ,タ型:字符|字符串

変数の型。“连续”または“整数”で指定します。

  • “连续”- 実数値

  • “整数”- 整数値

変数の型は,配列のすべての変数に適用されます。複数の変数の型をもには,複数の変数を作成します。

ヒント

2値変数を指定するには,“整数”型を使用して,下界=0UpperBound=1を指定します。

デ,タ型:字符|字符串

ンデックスの名前。字符串の cell 配列または文字ベクトルを指定します。インデックス名の使用法の詳細は、最適化変数の名前付き@ @ンデックスを参照してください。

デ,タ型:细胞

要素単位のプロパティ

下限。実数スカラ,またはOptimizationVariableオブジェクトと同じ次元をも実数配列として指定します。スカラ,値は変数のすべての要素に適用されます。

下界プロパティは常に配列として表示されます。ただし,プロパティをすべての要素に適用されるスカラ,として設定できます。たとえば,

var.LowerBound = 0

デ,タ型:

上限。実数スカラ,またはOptimizationVariableオブジェクトと同じ次元をも実数配列として指定します。スカラ,値は変数のすべての要素に適用されます。

UpperBoundプロパティは常に配列として表示されます。ただし,プロパティをすべての要素に適用されるスカラ,として設定できます。たとえば,

var.UpperBound = 1

デ,タ型:

オブジェクト関数

显示 最適化オブジェクトの情報表示
showbounds 変数範囲の表示
最適化オブジェクトの説明の保存
writebounds 変数範囲の説明の保存

すべて折りたたむ

美元という名前のスカラ,最適化変数を作成します。

美元= optimvar(“美元”
$ =带有属性的OptimizationVariable:名称:'dollars'类型:'continuous' IndexNames: {{} {} LowerBound: -Inf UpperBound: Inf参见带show的变量。请使用showbounds查看bounds。

xという名前の3行1列の最適化変数ベクトルを作成します。

X = optimvar(“x”3)
x = 3x1 optimization带属性的变量数组:数组范围属性:名称:'x'类型:'continuous' IndexNames: {{} {} Elementwise properties: LowerBound: [3x1 double] UpperBound: [3x1 double]参见带show的变量。请使用showbounds查看bounds。

“铜”“不锈钢”,および“镀锌”という字符串によって远程主机ンデックス付けされる螺栓という名前の整数最適化変数ベクトルを作成します。螺栓の▪▪▪▪ンデックスを使用して最適化式を作成し,さらに,文字配列を使用して,または異なる方向で螺栓の作成を試します。

行方向で字符串を使用して螺栓を作成します。

名字= [“铜”“不锈钢”“镀锌”];螺栓= optimvar(螺栓的bnames,“类型”“整数”
带有属性的变量数组:数组级属性:名称:'bolts'类型:'integer' IndexNames: {{} {1x3 cell}} Elementwise属性:LowerBound: [-Inf -Inf -Inf] UpperBound: [Inf Inf Inf]参见带show的变量。请使用showbounds查看bounds。

字符串esc escンデックスを使用して最適化式を作成します。

Y =螺栓(“铜”) + 2*螺栓(“不锈钢”) + 4*螺栓(“镀锌”
y =线性优化表达式螺栓(“黄铜”)+ 2*螺栓(“不锈钢”)+ 4*螺栓(“镀锌”)

字符串の代わりに文字ベクトルの细胞配列を使用して,前出と同じインデックスをもつ変数を取得します。

Bnames = {“铜”“不锈钢”镀锌的};螺栓= optimvar(螺栓的bnames,“类型”“整数”
带有属性的变量数组:数组级属性:名称:'bolts'类型:'integer' IndexNames: {{} {1x3 cell}} Elementwise属性:LowerBound: [-Inf -Inf -Inf] UpperBound: [Inf Inf Inf]参见带show的变量。请使用showbounds查看bounds。

1行3列ではなく3行1列の列方向バジョンのbnamesを使用して,螺栓もその方向であることを確認します。

名字= [“铜”“不锈钢”“镀锌”];螺栓= optimvar(螺栓的bnames,“类型”“整数”
带有属性的变量数组:数组范围属性:名称:'bolts'类型:'integer' IndexNames: {{1x3 cell} {}} Elementwise属性:LowerBound: [3x1 double] UpperBound: [3x1 double]参见带show的变量。请使用showbounds查看bounds。

xarrayという名前の3 × 4 × 2の最適化変数配列を作成します。

Xarray = optimvar(“xarray”、3、4、2)
xarray = 3x4x2 optimization带属性的变量数组:数组级属性:名称:'xarray'类型:'continuous' IndexNames: {{} {} {} Elementwise属性:LowerBound: [3x4x2 double] UpperBound: [3x4x2 double]参见带show的变量。请使用showbounds查看bounds。

名前と数値▪▪ンデックスの混合によって▪▪ンデックス付けされた多次元変数を作成することもできます。たとえば,最適化変数の3行4列の配列を作成します。1番目の次元は字符串“铜”“不锈钢”,および镀锌的によってaapl . exeンデックス付けされ,2番目の次元は数値的にaapl . exeンデックス付けされます。

名字= [“铜”“不锈钢”“镀锌”];螺栓= optimvar(螺栓的bnames 4)
带有属性的变量数组:数组范围属性:名称:'bolts'类型:'continuous' IndexNames: {{1x3 cell} {} Elementwise属性:LowerBound: [3x4 double] UpperBound: [3x4 double]参见带有show的变量。请使用showbounds查看bounds。

サesc escズが3 × 3 × 3で2値変数を表すxという名前の最適化変数を作成します。

X = optimvar(“x”3, 3, 3,“类型”“整数”下界的,0,“UpperBound”,1)
x = 3x3x3 optimization带属性的变量数组:数组范围属性:名称:'x'类型:'integer' IndexNames: {{} {} {} Elementwise属性:LowerBound: [3x3x3 double] UpperBound: [3x3x3 double]参见带show的变量。请使用showbounds查看bounds。

詳細

すべて展開する

ヒント

  • OptimizationVariableオブジェクトには,“ハンドル”コピ,動作があります。詳細は,ハンドルオブジェクトの動作ハンドルクラスと値クラスの比較を参照してください。ハンドルコピ,動作とは,OptimizationVariableのコピ,がオリジナルを指しており,独立して存在していないことを意味します。たとえば,変数xを作成し,それをyにコピ,して,yのプロパティを設定します。xに新しいプロパティ値が反映される点に注意してください。

    X = optimvar(“x”下界的1);Y = x;. lowerbound = 0;showbounds (x)
    0 <= x
R2017bで導入