Maple für Professional
Maple für Akademiker
Maple für Studenten
Maple Personal Edition
Maple Player
Maple Player für iPad
MapleSim für Professional
MapleSim für Akademiker
Maple T.A. - Testen & beurteilen
Maple T.A. MAA Placement Test Suite
Möbius - Online-Courseware
Machine Design / Industrial Automation
Luft- und Raumfahrt
Fahrzeugtechnik
Robotics
Energiebranche
System Simulation and Analysis
Model development for HIL
Anlagenmodelle für den Regelungsentwurf
Robotics/Motion Control/Mechatronics
Other Application Areas
Mathematikausbildung
Technik
Allgemein- und berufsbildende Schulen
Testen und beurteilen
Studierende
Finanzmodelle
Betriebsforschung
Hochleistungsrechnen
Physik
Live-Webinare
Aufgezeichnete Webinare
Geplante Veranstaltungen
MaplePrimes
Maplesoft-Blog
Maplesoft-Mitgliedschaft
Maple Ambassador Program
MapleCloud
Technische Whitepapers
E-Mail Newsletters
Maple-Bücher
Math Matters
Anwendungs-Center
MapleSim Modell-Galerie
Anwenderberichte
Exploring Engineering Fundamentals
Lehrkonzepte mit Maple
Maplesoft Welcome-Center
Resource-Center für Lehrer
Help-Center für Studierende
Optimization[ImportMPS] - MPSファイルを取り込む
使い方
ImportMPS(filename, maxm, maxn, lowbnd, upbnd, opts)
パラメータ
filename - MPS(X) データのファイル名
maxm - (オプション) 入力できる線形制約条件の最大数
maxn - (オプション) 入力できる変数の最大数
lowbnd - (オプション) 変数の下界
upbnd - (オプション) 変数の上界
opts - (オプション) option=value の形。 option は objectivename, rhsname, rangename または boundsname
説明
Optimization[ImportMPS] コマンドはMPS(X) ファイルから (LP) を取り込みます。結果は LP をあらわす行列とベクトルの列を返します。問題の形を直接 Optimization[LPSolve] コマンドに Optimization[LPSolveMatrixForm] にあるような行列の形で入力することができます。
第 1 引数 filename は MPS(X) データファイル名を入力します。 第 2 引数 maxm は データファイルから読み込む制約条件式の数の上限を入力します。maxm の初期値は 50 です。 第 3 引数 maxn は データファイルから読み込む変数の数の上限を入力します。maxn の初期値は 50 です。 第 4 引数 upbnd は変数が動くときの下界を浮動小数で与えます。はじめは -1.0e21 で設定されています。変数が非負の値をとるようにしたいときは、0.0 を設定します。 第 5 引数 upbnd は変数が動くときの上界を浮動小数で与えます。はじめは 1.0e21 で設定されています。 第 6 引数は次のようにオプションで入力します。リストの第 1 項が整数であれば maxm として読まれ、第 2 項は maxn として読まれます。浮動小数であれば、 lowbnd と upbnd の列となります。
引数 opts は次のオプションからいくつか選ぶことができます。
objectivename=objname -- 名前 objname の目的関数を使います。objname ははじめ空であり、この場合目的関数はデータファイルから決定されます。
rhsname=RHSname -- 名前 RHSname の右辺から定義される式を使います。 RHSname ははじめ空であり、この場合目的関数はデータファイルから決定されます。
rangename=rngname -- 名前 rngname のから定義される領域を使います。rngname ははじめ空であり、この場合目的関数はデータファイルから決定されます。
boundsname=bndname -- 名前 bndname で定義される境界条件を使います。 bndname ははじめ空であり、この場合目的関数はデータファイルから決定されます。
多くの場合、列 sprob, cvec, A, b, Aeq, beq, bl, bu, x を結果として返します。LP による行列の形の説明については Optimization[LPSolveMatrixForm] または Optimization[MatrixForm] を参照ください。
prob はファイルにある問題名の文字列です。
cvec は線形目的関数の係数をあらわすベクトルです。
A は不等式制約条件の左辺の係数をあらわす行列です。
b は不等式制約条件の右辺の係数をあらわすベクトルです。
Aeq は等式制約条件の左辺の係数をあらわす行列です。
beq は等式制約条件の右辺の係数をあらわすベクトルです。
bl は n 個の変数の下界をあらわすベクトルです。
bu は n 個の変数の上界をあらわすベクトルです。
x は初期点をあらわすベクトルです。
maxm および maxn はオプションで与えますが、ImportMPS は設定した以上の変数または線形制約条件のある MPS ファイルを入れるとエラーを返します。
例
ImportMPS の基本的な使い方を紹介します。すべての変数に対して下界および上界をそれぞれ 0.0 および 1.0e21 で設定します。
data := Optimization[ImportMPS]( "example01.mps", 0.0, 1.0e21 ): if nops([data]) = 7 then (sprob,cvec,A,b,bl,bu,x):=data; else (sprob,cvec,A,b,Aeq,beq,bl,bu,x):=data; end if: sol := Optimization:-LPSolve(cvec,[A,b],[bl,bu]);
[ 4. ] [ ] [ 0. ] [ ] [ 0. ] sol := [92.5000000000000, [ ]] [4.50000000000000000] [ ] [ 2. ] [ ] [ 0. ]
参照
Optimization[LPSolveMatrixForm], Optimization[MatrixForm], currentdir.
参考文献
MPSX Mathematical programming system Program Number 5734 XM4 IBM Trade Corporation, New York (1971).
Download Help Document