MATLAB を使用して、4D 空間で関数の鞍点を見つけようとしています。より具体的には、関数は f(x,y,z,w) であり、x と y に関する最小値と z と w に関する最大値を見つける必要があります。つまり、4D 空間の鞍点は、x と y で最小、z と w で最大です。変数 x、y、z、および w は、それぞれのドメイン内に制約されます。
fmincon を使用してみましたが、役に立ちませんでした。関数 f(x,y,z,w) は、それが定義されているドメイン内に必ず鞍点を持っている必要があります。私がやっていることは、最初に fmincon を使用して x と y に関して f を最小化し、次に次のステップで fmincon を使用して z と w に関して -f を最小化し、それを繰り返すことです。また、fmincon を使用して f(x,y,z0,w0)-f(x0,y0,z,w) を最小化しようとしました。ここで、(x0,y0,z0,w0) は開始点または前の反復から計算されたものです。 . 後者の方法(適切な重みが含まれていないため、非常に非効率的であることはわかっています)も機能しませんでした。
これを機能させる方法について何かアイデアがあれば、とても感謝しています。よろしくお願いします。