問題タブ [minimization]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
640 参照

r - Implementing additional constraints in R's nnls

I am using the R interface to the Lawson-Hanson NNLS implementation of an algorithm for non-negative linear least squares that solves ||A x - b||^2 with the constraint that all elements of vector x ≥ 0. This works fine but I would like to add further constrains. Of interest to me are:

  1. Also minimize "energy" of x: ||A x - b||^2 + m*||x||^2

  2. Minimize "energy in the x derivative" ||A x - b||^2 + m ||H x||^2, where H is the sum of identity and a matrix with -1 on the first off-diagonal

  3. Most generally, minimize ||A x - b||^2 + m ||H x - f||^2.

Is there are a way to coax nnls to do this by some clever way of restating the problems 1.-3. Above? The reason I have hope for such a thing is that there is a little-throw away comment in a paper by Whitall et al (sorry for the paywall) that claims that "fortunately, NNLS can be adopted from the original form above to accommodate something in problem 3".

0 投票する
1 に答える
303 参照

algorithm - A* アルゴリズムのブール関数ヒューリスティックを最小化する

ブール関数を最小化するプログラムをPythonで作成する必要がありますが、問題は、たとえばA *またはより単純なアルゴリズムBFSなどの検索アルゴリズムを使用する必要があることです。反復深化を使用してプログラムを作成しました。すべての問題を解決しますが、遅すぎます (各問題の制限は 20 秒です)。

そこで、A* アルゴリズムを使用して別のプログラムを作成しました (より良いグレードが必要な場合は、これを使用する必要があると言われました) が、反復深化を使用するプログラムよりも 10 倍遅くすることができました。アルゴリズムの正しいヒューリスティックを見つけられません。効果的な最小化 (優れたヒューリスティック) の基準となるものを理解できません。

問題:

リストのリスト ([[0,1,0,1],[...],[...],[....],...]) が与えられ、真理値表 (最後の要素内側のリストは関数の値を表します)。検索アルゴリズム (A*、BFS、IDA*、DFS など) のみを使用して、ブール関数の最小選言形式を見つけるプログラムを作成してください。問題ごとに、それを解決するのに 20 秒かかります。

0 投票する
1 に答える
239 参照

algorithm - 動的な「メトリック」を最小化するスパニングツリー

グラフを作ってみましょう。エッジを削除すると、エッジの各頂点から1つずつ、2つの「車」が作成されます。これらの2台の車が出会うと停止します。問題は、各頂点を通過する車の数の合計が最小になるようにスパニングツリーを作成することです。

追加の難しさは、頂点からn台の車が通過する場合、コストはK ^ nであり、n*Kではないことです。

いくつかの考え。最短のコードレスサイクルを開始点として見つけることができましたが、それらのコードレスサイクルの位置、つまり、それらが互いに接触しているかどうかによって、メトリックが変化し、したがって最短サイクルが何であるかが変わります。

これは最小スパニングツリーの問題ではありません。各車は変数を表し、スパニングツリーは最適化問題を計算するための最も効率的な方法であるため、これを解決したいと思います。同じエッジから2台の車が出会って停止すると、最適化から1つの変数が削減されます。

編集:

プロセスはこのようなものです。グラフをスパニングツリーにするために、いくつかのエッジを削除します。削除された各エッジは、削除されたエッジの各頂点に1つずつ、2台の車を作成します。これらの車は互いに交わる必要があります。これらのツインカーのそれぞれのパスを修正します。次に、(削除したすべてのエッジから)各頂点を通過する車の数を確認します。頂点から通過する車の数がnの場合、コストはK ^ nです。ここで、Kは定数です。次に、すべてのコストを追加します。これは、最小化する必要があるグローバルコストです。

不明な点があれば教えてください。 https://mathoverflow.net/questions/86301/spanning-tree-that-minimizes-a-dynamic-metric

0 投票する
2 に答える
723 参照

html - データベースストレージ用の HTML を最小化 (圧縮; デフレート): 必要ですか?

メール本文の HTML を SQL Server nvarchar(max) 列に保存しています。途中で HTML を最小化するメリットはありますか?

最小化とは、HTML テキスト ストリーム内の余分な空白とキャリッジ リターン/ラインフィードを削除することを意味します。私の用語は正しくないかもしれません。HTML タグやコメントなどを削除するつもりはありません。

メリットとは、ストレージ スペースの効率性、挿入/取得の速度という意味です。そのため、メリットはデータベース側に集中しています。

行う価値がある場合、何に注意すればよいですか (たとえば、改行を 1 つのスペースに置き換えると、後で HTML が正しく表示されない可能性があります)。

0 投票する
1 に答える
322 参照

python - 関数 I(a,b,c,d) の積分の 4 次元の最小値 (a,b,c,d) を見つける

I(k,k''; J,Jp,a,b,c,d)4 つの変分パラメーター(a,b,c,d)と 2 つの固定定数を持つ厄介な不連続 2 次元積分があります(J,Jp)。積分を見つける手順は簡単ではなく、最初のステップがあります。

  1. からまでmuの 1 次元積分のルート ( ) を見つける必要があります。-pipi

    A = Integrate [ 1/(exp(E(k; a,b,c,d)-mu)+1 ] dk/2pi = 0.5

    ここEで、 は平方根と余弦からなる複雑な関数です。

  2. mu を見つけたので、提供された を使用して、(a,b,c,d)この 2 次元積分 (極限と同じ)-piに対する4D (グローバル) 最小値を見つける必要があります。piJJp

    result(J,Jp) = Minimum[ Integrate [ I(J,Jp;k,k''; a,b,c,d,mu) ] dk/2pi dk''/2pi ]

複雑な関数Iは基本的に次のようになります

muの推定値を使用して見つけるための最初のステップを実行しましたa,b,c,dが、それらの任意の値を使用する方法がわかりません。すべてのラムダ関数をネストする以外に別の方法はありますか? それでも、必要なことを達成するためにラムダ関数をネストするにはどうすればよいでしょうか?

Mathematica で書かれた手順を持っていますが、最小値を取得するのに時間がかかりすぎて、時々間違っています。現在学んでいるPythonに移植してみたいと思います。ありがとう!

EDIT:物理システムの詳細:最初のステップは、システムの充填を課すことにより、量子システムのフェルミ準位を見つけることです。フェルミ準位を使用すると、このハートリー フォック システムの基底状態エネルギーを最小化する変分パラメーターを見つけることができます。

0 投票する
2 に答える
2904 参照

python - 導関数を使用しない Python 関数の最小化

私は scipy.optimize.optimize のいくつかの関数に精通しており、過去に fmin_cg を使用して導関数を知っている関数を最小化しました。しかし、私は今、簡単に微分できない式を持っています。

そのモジュール内のいくつかの関数 (たとえば、fmin_cg) は、実際には導関数を提供する必要はありません。次に、各パラメーターに小さな値を順番に追加することにより、準導関数を計算すると思いますが、それは正しいですか?

私の主な質問は次のとおりです。特定の導関数を使用せずに複数のパラメーターで関数を最小化する場合、どの関数 (または他の場所の関数) を使用するのが最適ですか?

0 投票する
2 に答える
1712 参照

java - javaで複雑な線形多変数関数を最小化する

いくつかの制約の下で複雑な線形多変数関数を最小化する必要があります。

xを長さLの複素数の配列とします。

a[0]、a[1]、...、a[L-1]は複素係数であり、

Fは複素関数F(x)= x[0]*a[0] + x[1]*a[1] + ... + x[L-1]*a[L-1]であり、最小限に抑えます。

b[0]、b[1]、...、b[L-1]は複素係数であり、制約があります

1 = complexConjuate(x[0])*x[0] + complexConjuate(x[1])*x[1] + ... + complexConjuate(x[L-1])*x[L-1]を持つ満たされること。

私はすでにhttp://math.nist.gov/javanumerics/を詳しく調べ、多くのドキュメントを調べました。しかし、複雑な関数の最小化を行うライブラリが見つかりませんでした。

0 投票する
1 に答える
1019 参照

algorithm - ベクトルの関数の最小化

次の合計を最小化する必要があります。

すべての合計を最小化i{(i = 1 to n) fi(v(i), v(i - 1), tangent(i))}

vtangentはベクトルです。 fi引数として 3 つのベクトルを取り、これらの 3 つのベクトルに関連付けられたコストを返します。この関数でv(i - 1)は、 は前の反復で選択されたベクトルです。
tangent(i)も知られています。は、他の 2 つのベクトルとが与えられたときにfi、ベクトル を選択するコストを計算します。およびベクトルは既知です。すべての の値も事前にわかっています。 私の仕事は、関数値の総コストが最小になるように、そのようなすべての s を決定することです。 これを解決するためのアイデアを教えてください。 これまでのところ、分岐限定法または動的計画法について考えることができます。v(i)v(i - 1)tangent(i)v(0)v(n)tangent(i)
i = 0 to n
v(i)i = 1 to n

ありがとう!

0 投票する
2 に答える
143 参照

javascript - カスタム構成で CSS と JS を縮小するにはどうすればよいですか?

最新の CSS3 プロパティと互換性があり、カスタマイズが可能な、信頼性の高い JS および CSS ミニマイザーが必要です。構成するために、プロパティファイルのようなものがあることをお勧めします。これについて私を助けてくれませんか?

0 投票する
1 に答える
985 参照

python - パラメーター制限付きの root miniuit2 等高線

ROOTデータ分析フレームワークの一部である Minuit2 ミニマイザーを使用して、物理的な制限を持つパラメーターの等高線図を作成しようとしています。残念ながら、Minuit2 は、等高線図を作成しようとすると、パラメーターを制限外の領域にドリフトさせようとしているようです。

他の誰かがこれまたは同様の問題に対処しましたか? 回避策はありますか?

私はすでにROOT フォーラムでこの質問をしましたが、これまたは同様の問題に対処したスタック オーバーフロー ユーザーもいるかもしれないと思いました。