Fix bug #1848: taytorat leaks internal gensyms from multivar expansions
[maxima.git] / doc / info / ja / simplex.texi
blobfd6741252a4db7f56fe32dc635b1d84b061fe636
1 @menu
2 * Introduction to simplex::
3 * Functions and Variables for simplex::
4 @end menu
6 @node Introduction to simplex, Functions and Variables for simplex, simplex, simplex
7 @section Introduction to simplex
9 @code{simplex}はシンプレックスアルゴリズムを使った線形最適化のパッケージです。
11 例:
13 @c ===beg===
14 @c load("simplex")$
15 @c minimize_lp(x+y, [3*x+2*y>2, x+4*y>3]);
16 @c ===end===
17 @example
18 (%i1) load("simplex")$
19 (%i2) minimize_lp(x+y, [3*x+2*y>2, x+4*y>3]);
20                   9        7       1
21 (%o2)            [--, [y = --, x = -]]
22                   10       10      5
23 @end example
25 @opencatbox
26 @category{Numerical methods}
27 @category{Optimization}
28 @category{Share packages}
29 @category{Package simplex} 
30 @closecatbox
32 @node Functions and Variables for simplex,  , Introduction to simplex, simplex
33 @section Functions and Variables for simplex
35 @defvr {オプション変数} epsilon_lp
36 デフォルト値: @code{10^-8}
38 @code{linear_program}の数値計算で使われるイプシロン。
40 以下も参照してください: @code{linear_program}
42 @opencatbox
43 @category{Package simplex}
44 @closecatbox
46 @end defvr
48 @deffn {関数} linear_program (@var{A}, @var{b}, @var{c})
50 @code{linear_program}は
51 シンプレックスアルゴリズムの実装です。
52 @code{linear_program(A, b, c)}は、
53 @code{A.x = b}かつ@code{x >= 0}を満たすベクトルの中で@code{c.x}が可能な最小となる
54 ベクトル@var{x}を計算します。
55 引数@var{A}は行列で、引数@var{b}と@var{c}はリストです。
57 @code{linear_program}は、
58 最小化ベクトル@var{x}と最小値@code{c.x}を含む
59 リストを返します。
60 もし問題が有界でないなら、
61 "Problem not bounded!"を返し、
62 もし問題が実現可能でないなら、
63 "Problem not feasible!"を返します。
65 この関数を使うためには、最初に@code{load(simplex);}で@code{simplex}パッケージをロードしてください。
67 例:
69 @c ===beg===
70 @c A: matrix([1,1,-1,0], [2,-3,0,-1], [4,-5,0,0])$
71 @c b: [1,1,6]$
72 @c c: [1,-2,0,0]$
73 @c linear_program(A, b, c);
74 @c ===end===
75 @example
76 (%i2) A: matrix([1,1,-1,0], [2,-3,0,-1], [4,-5,0,0])$
77 (%i3) b: [1,1,6]$
78 (%i4) c: [1,-2,0,0]$
79 (%i5) linear_program(A, b, c);
80                    13     19        3
81 (%o5)            [[--, 4, --, 0], - -]
82                    2      2         2
83 @end example
85 以下も参照してください: @code{minimize_lp}, @code{scale_lp}, @code{epsilon_lp}
87 @opencatbox
88 @category{Package simplex}
89 @category{Numerical methods}
90 @closecatbox
92 @end deffn
94 @deffn {関数} maximize_lp (@var{obj}, @var{cond}, [@var{pos}])
96 いくつかの線形制約@var{cond}に従う線形目標関数@var{obj}を最大化します。
97 引数と戻り値の詳細な記述に関しては、
98 @code{minimize_lp}を参照してください。
101 以下も参照してください: @code{minimize_lp}.
103 @opencatbox
104 @category{Package simplex}
105 @category{Numerical methods}
106 @closecatbox
108 @end deffn
110 @deffn {関数} minimize_lp (@var{obj}, @var{cond}, [@var{pos}])
112 いくつかの線形制約@var{cond}に従う線形目標関数@var{obj}を最小化します。
113 @var{cond}は線形等式や不等式のリストです。
114 厳密な不等式では、@code{>}は@code{>=}に、
115 @code{<}は@code{<=}に置き換えられます。
116 オプションの引数@var{pos}は
117 正と仮定される決定変数のリストです。
119 もし最小が存在するなら、
120 @code{minimize_lp}は
121 目標関数の最小値と最小が得られる決定変数値のリスト
122 を含むリストです。
123 もし問題が有界でないなら、
124 @code{minimize_lp}は"Problem not bounded!"を返し、
125 もし問題が実現可能でないなら、
126 "Ploblem not feasible!"を返します。
128 決定変数はデフォルトでは非負とは仮定されません。
129 もし決定変数すべてが正なら、
130 @code{nonegative_lp}を@code{true}に設定してください。
131 もし決定変数のいくつかだけが正なら、
132 オプション引数@var{pos}の中でそれらをリストしてください。
133  (これは制約を足すより効率的だということに注意してください。)
135 @code{minimize_lp}は
136 Maximaの@code{linear_program}関数で実装された
137 シンプレックスアルゴリズムを使います。
139 この関数を使うためには、最初に@code{load(simplex);}で
140 @code{simplex}パッケージをロードしてください。
142 例:
144 @c ===beg===
145 @c minimize_lp(x+y, [3*x+y=0, x+2*y>2]);
146 @c minimize_lp(x+y, [3*x+y>0, x+2*y>2]), nonegative_lp=true;
147 @c minimize_lp(x+y, [3*x+y=0, x+2*y>2]), nonegative_lp=true;
148 @c minimize_lp(x+y, [3*x+y>0]);
149 @c ===end===
150 @example
151 (%i1) minimize_lp(x+y, [3*x+y=0, x+2*y>2]);
152                       4       6        2
153 (%o1)                [-, [y = -, x = - -]]
154                       5       5        5
155 (%i2) minimize_lp(x+y, [3*x+y>0, x+2*y>2]), nonegative_lp=true;
156 (%o2)                [1, [y = 1, x = 0]]
157 (%i3) minimize_lp(x+y, [3*x+y=0, x+2*y>2]), nonegative_lp=true;
158 (%o3)                Problem not feasible!
159 (%i4) minimize_lp(x+y, [3*x+y>0]);
160 (%o4)                Problem not bounded!
161 @end example
164 いかも参照してください: @code{maximize_lp}, @code{nonegative_lp}, @code{epsilon_lp}。
166 @opencatbox
167 @category{Package simplex}
168 @category{Numerical methods}
169 @closecatbox
171 @end deffn
173 @defvr {オプション変数} nonegative_lp
174 デフォルト値: @code{false}
176 もし@code{nonegative_lp}がtrueなら、
177 @code{minimize_lp}と@code{maximize_lp}の決定変数すべては正と仮定されます。
179 以下も参照してください: @code{minimize_lp}。
181 @opencatbox
182 @category{Package simplex}
183 @closecatbox
185 @end defvr