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/InputForms を参照ください。
以下の説明では、変数 x1, x2, ..., xn の関数の最小値または最大値を求める問題を仮定します。
目的関数
は変数に対応する n 個の数値パラメータに対し数値を返すような手続きを指定します。
The Optimization[LSSolve] コマンドは (1/2) (f1(x1, x2, ..., xn)^2 + f2(x1, x2, ..., xn)^2 + ... + fq(x1, x2, ..., xn)^2) の形の目的関数を持つ問題を解きます。目的関数は変数に対応する n 個の数値パラメータに対し数値を返すような手続きのリストです。手続きは残差 f1, f2, ..., fq を計算します。
制約条件
手続きの集合またはリストで不等式を与えます。 1 つの制約条件 v(x1, x2, ..., xn) <= 0 は上で説明した目的関数の同じ形で制約条件の左辺の係数を手続き v として指定します。
等式制約条件も手続きの集合またはリストとして与えます。各制約条件 w(x1, x2, ..., xn) = 0 はこの左辺の係数を返す手続きとして指定します。
境界条件
境界条件は範囲の列で与えます。例として。列 -1.0 .. 2.5, 0.5 .. 3.2 は 1つ目の変数を -1.0 から 2.5 の範囲、2 つ目の変数は 0.5 から 3.2 の範囲の境界条件であることを示しています。境界条件については、範囲の個数と変数の個数は同じでなければいけません。
境界条件は制約条件として指定することができます。例として、不等式 x>=1.5 および x<=3.2 という制約条件は x=1.5..3.2 と指定することと同じです。境界条件は分けて入力する必要はありませんが、分けることでより効率的は計算を行うことができます。
デフォルトでは変数は非負変数であることを指定していませんが、assume=nonnegative オプションすることで使うことができます。詳しくは Optimization/Options を参照ください。
初期値
初期値は initialpoint=p オプションを使って指定します。ただし、 p は実数のリストです。リストは各変数に対してそれぞれ値を持たなければいけません。initialpoint オプションについて詳しくは Optimization/Options を参照ください。
解
Maple は最小値 (最大値) とそれを満たす点 () のなすリストを解として返します。この点は変数が満たす値のベクトルで与えられます。
例
with(Optimization);
NLPSolve を使うために簡単な手続きを使います。
p := proc(x) if x <= 0 then x^2+1; else sin(x)/x; end; end;
NLPSolve(p,-5..30);
最小二乗問題を解くのにオペレータの形を使います。
b1 := proc(x) x-1 end proc: b2 := proc(x) x-7 end proc: c1 := proc(x) -2*x-3 end proc: c2 := proc(x) x-5 end proc: LSSolve([b1, b2], {c1, c2}, 1..10);
Maximizeを使って解きます。
Maximize((x,y)->3*x^2+y, {(x,y)->x-2*y-2, (x,y)->y^2-x-3});
参照
Optimization, Optimization/InputForms, Optimization[LSSolve], Optimization/Options
Download Help Document