問題タブ [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.
algorithm - 線分での2パラメーター距離関数の最適化(ACM ICPC Regionals Elim。)
この問題は、ACMICPCカンプール地域排除ラウンドで提起された問題のサブ問題です。
(Pa, Pb)
2Dポイントと(Pc, Pd)
それぞれで囲まれた2つの線分が与えられた場合、関数を最小化するp
とq
(範囲内)を見つけます。[0,1]
(事実上、PxとPyは線分上の点であり、関数は、ユークリッド距離のk倍のコストの接続リンクを介してPaからPdに移動するコストをエンコードします)
この機能に関するいくつかの所見:
- 平行線分は常に、との少なくとも1つを0または1のいずれかにします
p
。q
交差する線分は常に線分の交点を引き起こしp
、q
位置を特定します(これを証明するために三角不等式を適用できます)
質問:線が傾斜していて潜在的に分離している一般的なケースでは、この関数を最小化するにはどうすればよいですか?
wolfram-mathematica - Sqrt[3x+1]+Sqrt[3y+1]+Sqrt[3z+1] の最小値を取得するには?
させて
mathematica を使用して x>=0&&y>=0&&z>=0&&x+y+z==1 の f の最小値を取得したい。
PS:数学的な方法で最小値を取得する方法を知っています:
PS2: 次のコードが機能することを期待していましたが、機能しませんでした。
実際、Simon が指摘しているように、うまくいきます... 実行時間が予想よりも長く、Mahtematica が結果を表示する前に閉じてしまいました。
java - JavaおよびVTKでの適切なパス最小化アルゴリズム2D
VTKを使用したJavaでいくつかの制約があるパス最小化のアルゴリズムを見つけたいと思います。入力として、一定のポリゴンの領域、ポリゴンの重心、およびコストイメージを指定します。出力として、特定の領域と重心の2つの制約を満たす、コスト画像上の最小パス長である2Dのパスを構成するポイントのリストが必要です。JavaとVTKでこれを行う方法を知っている人はいますか?vtkDijkstraImageGeodesicPathから構築することを検討していましたが、どこから始めればよいのかさえわかりません。正直なところ、この分野での私の数学はさびています。
ありがとう
c - GnuScientificLibraryによる多次元最小化
そのため、GSLの多次元最小化手順に問題があります(私が使用しようとしているのはですgsl_multimin_fdfminimizer_vector_bfgs2
が、他の手順でも同じ問題が発生します)。ターゲット関数とその勾配を定義し、反復を開始できますが、アルゴリズムは常に同じポイントに留まります。
さて、関数または勾配のどこかに数学エラーがあると思いました。ただし、特定のデータセットについては、最適な値を知っており、これらの値を差し込むと、どこでも0の勾配が生成されます。
反復を最適な状態で開始すると、アルゴリズムは正しく停止して成功を報告しますが、開始ベクトルを最小限に乱すと、反復は永久に実行され、最適なものが見つかりません。
また、Rの関数と勾配を再実装しました。CバージョンとRバージョンが同じ入力に対して同じ出力を生成することを確認しました。RでBFGSアルゴリズムを使用すると、数回の反復で最適値が見つかります。
アルゴリズムを初期化します
反復は次のようになります。
微調整できる唯一のパラメーターは、初期ステップサイズとのライン最小化の精度ですgsl_multimin_fdfminimizer_set (gsl_multimin_fdfminimizer * s, gsl_multimin_function_fdf * fdf, const gsl_vector * x, double step_size, double tol)
。異なる値を試してみると、効果はわずかですが(アルゴリズムが少し動くこともあります)、実際にアルゴリズムを動かす値は見つかりません。
提案をありがとう!
android - Android、ProGuard、およびメンバー名を持つkeepclasses
AndroidアプリケーションのProGuard構成の一般的なパターンは、カスタムView
クラスを保持することです。これは、カスタムクラスが、アプリケーションコードではなくレイアウトXMLからのみ参照される可能性があるためです。
したがって、プロジェクトの作成時に、ADTはこれらのルールをプロジェクトのproguard.cfgに追加します。
ここでの考え方は、クラスがレイアウトインフレーターによって呼び出される可能性のあるコンストラクターを定義するときはいつでも、それを保持するということだと思います。ただし、ProGuardのドキュメントによると、keepclasseswithmembernames
修飾子はkeepclasseswithmembers
andallowshrinking
の省略形です。これは、私が正しく理解している場合、これらのクラスを削除することは許可されていますが、保持されている場合は、メンバー名を難読化しないでください(おそらく、 XML属性名とクラスセッター)。
しかし、それは、コードで直接参照されていない限り、これらのクラスが縮小フェーズ(allowshrinking = true)中に削除されることを意味しませんか?確かに、それは私たちがアプリで使用しているカスタムウィジェットで起こったことであり、ルールを設定することで問題を修正できます。これは、一致するクラスを完全に保持するだけだからです(これが公式のProGuardAndroidkeepclasseswithmembers
であることに注意してください)。例もそうです)。
ProGuardドキュメントを読み間違えていますか、それともADTプロジェクトウィザードのバグですか?
list - 最小のエラーで1つのリストを別のリストに一致させる
AとBの2つのリストがあります。Aは最大1000要素、Bは最大100要素になります。ペアの絶対差の合計が最小になるように、Bのすべての要素をAの要素に一致させたいと思います。
つまり、|B|を選択したい Aとは異なるインデックスを作成し、それらをBのインデックスに割り当てて、次の合計が最小化されるようにします。sum(abs(A [j] --B [i])for i in | B |、j = index_mapping(i))
私の最初のアプローチは次のとおりです。
- Bの各要素について、|B|を計算します。Aの最も近い要素。
- 貪欲な方法でペアを選択します(つまり、最初に最小エラー)
いくつかの簡単な例で遊んでみると、私のアプローチが最善ではないことは明らかです。私の目的には問題なく機能するはずですが、誰かがより良いアプローチを提案できるかどうか疑問に思っていました。
wolfram-mathematica - なぜ私の最小の検索(最も急なまともな)が丘を登るのですか?
私は、最も急勾配の適切な方法を使用して、離散化された関数を最小化しようとしています。これはかなり簡単なはずですが、ローカル最小値からの検索「クライミング」に問題があります。これがMathematicaの私のコードですが、その構文は簡単に理解できます。
なぜこれが丘を登るのですか?新しい値が古い値よりも小さいかどうかをテストすることさえあるので、私は困惑しています。そして、私はそれがそうであるときにそれを渡しません!考え?
ruby-on-rails - Ruby on Rails2:本番モードでcssとjsを最小限に抑える方法はありますか?
js および css ファイルは、人間が読めるようにするためにかなり大きくなる可能性があります。プロダクション モードでの実行時にすべての css と js を最小化して、エンド ユーザーの読み込み時間を短縮するある種の gem はありますか?
algorithm - 整数計画法で最小化を行うためのアルゴリズム
整数計画法で最小化を行うことは非常に複雑な問題であることを理解しています。しかし、何がこの問題をそれほど難しくしているのでしょうか?
それを解決するためのアルゴリズムを(試みて)書くとしたら、何を考慮に入れる必要がありますか?私はそれを解決するための分枝限定法に精通しているだけであり、この技術をプログラムで適用しようとすると、どのような障害に直面するのだろうかと思っています。