Javaでの絶対関数を最小限に抑える[閉じる] -- java フィールド と linear-programming フィールド 関連 問題

minimize absolute function in Java [closed]












1
vote

問題

日本語

この質問を改善したいですか? ON-TOPIC スタックオーバーフローでは、質問を更新します。

閉じられた 4年前

この質問を改善します

Javaの絶対関数最小化問題を探しています。誰かが図書館と解決策を提案することができますか?

ただし、 apache common math3 をダウンロードしましたが、絶対関数を最小限に抑えるためにリニア関数を作成するための関連関数を見つけることができませんでした。

単に、私はJavaの関数の下の書き込みを探しています。

<事前> <コード> f(x) = b + | x - a | + d + | x - c | + f + | x - e |

この問題を私の2番目の問題のために少し編集しました、ここでb、d、fも線形関数です。

<事前> <コード> b = a1x + b1 d = a2x + b2 f = a3x + b3
英語

I'm looking into absolute function minimization problem in Java. Can anyone suggest libraries and solutions?

I downloaded apache common math3, however, could not find related functions to create linear function to minimize absolute functions.

Simply, I am looking into writing below functions in Java.

f(x) = b + | x - a | + d + | x - c | +  f + | x - e |  

I've edited this problem a bit for my second problem, here b, d, f are also linear functions.

b = a1x + b1 d = a2x + b2 f = a3x + b3 
</div
     
       
       

回答リスト

2
 
vote
vote
ベストアンサー
 

フォームのn条件を合計している場合は、 x は、負の無限大からの増加としてグラデーションを考慮してください。

  • 負の無限大で、ほとんどの左側の番号行の場合、グラデーションは<コード> -N ;
  • a_i 値の最小値を渡すと、グラデーションはわずかに増加し、 -N+2 ;
  • a_i 値の次の最小値を渡すと、グラデーションは再び<コード> -N+4 。
  • それ以上<コード> a_i が渡された、勾配は2;
  • 正の無限大では、グラデーションは +N です。

そのため、グラデーションは負を開始し、 9988877669 位置のそれぞれでステップが増加し、正に終了します。あなたは勾配がゼロである点または範囲を探しています。これは「中央の」、すなわち値の中央値にあります<コード> x0 。

  • ポイント数が多い場合、中央値はポイントになります。これは質問の場合です。最小値は x1 です。
  • 偶数点がある場合、中央値は2点間です。この場合、関数はそれらの点の間のどこにでも最小化されます。
 

If you are summing N terms of the form |x - a_i|, consider the gradient as x increases from negative infinity:

  • At negative infinity, and for most of the left-hand number line, the gradient is -N;
  • As you pass the minimum of the a_i values, the gradient increases slightly, to -N+2;
  • As you pass the next smallest of the a_i values, the gradient increases again, to -N+4.
  • Each further a_i passed, the gradient increases by 2;
  • At positive infinity, the gradient is +N.

So, the gradient starts negative, increases in steps at each of the a_i positions, and ends up positive; you're looking for the point or range where the gradient is zero. This will occur "in the middle", i.e. at the median of the values a_i.

  • If there are an odd number of points, the median will be at a point. This is the case in the question: the minimum is at median(a, c, e).
  • If there are an even number of points, the median is between two points. In this case, the function is minimised anywhere between those points.
</div
 
 
 
 

関連する質問

0  変数が2つの値の間に限界されているかどうかを確認するための制約を書き込む方法  ( How to write constraints to check whether a variable is bounded between two valu ) 
モデル変数が特定の値の間で制限されているかどうかを示すための良い方法があるのは何が良いかを知っていますか?たとえば、0 <= 200のとき、= 200のとき、= 200の場合、200 <= 3のときは、変数x&lt; = 300の場合は これの1つのユースケー...

1  リニアプログラミング:重ならない制約?  ( Linearprogramming non overlapping constraint ) 
リニアプログラム(または必要に応じてMIP)で、非重複制約(つまり、2つの長方形は重ならない)を書き込みます。制約プログラミングで実行する方法を知っています: オブジェクトiとj: x [i] + dx [i]またはy [i] + dy [i]またはx [j...

1  線形計画法:客観的変数は制約を持つことができますか?  ( Linear programming can objective variable have a constraint ) 
LP問題の問題を抱えています。問題を説明する前に、最初に簡単な方法で問題を説明してみてください。 基本的な問題 3種類のマシンがあると仮定して、以下のマトリックスの中のもので示されるように、2つの期間(T1、T2、T3、またはT4)だけ動作可能である...

5  どのように私は任意の四角形の内側にある長方形または円を刻印することができますか  ( How can i inscribe a rectangle or circle inside an arbitrary quadrilateral ) 
これは、より多くの数学の質問であるかもしれませんが、それがCSの文脈にあるため、ここで尋ねたかったです。私は、最大の高さと幅が可能な内接されたクワッドで別のクワッドの中にある四角形を刻印することを探しています。アルゴリズムは類似していると思いますので、私は同様...

15  Javaの数学最適化図書館 - 無料またはオープンソースの推奨事項は? [閉まっている]  ( Mathematical optimization library for java free or open source recommendatio ) 
現在立つにつれて、この質問は私たちのQ&AMPにとって良いフィットではありません。フォーマット。私たちは事実、参考文献、または専門知識によって支持されることを期待していますが、この質問は...

0  リニアプログラミングにおける原点をシフトするシンプレックスアルゴリズム  ( Simplex algorithm shifting origin in linear programming ) 
アルゴリズムブックのシンプレックスアルゴリズムを用いた線形計画法を読み取る。 起源についての理解が困難であると、方程式は変化しています。たとえば、Originが(0,0)から(0,3)にシフトされている場合。ここでは、(0,0)のORIGINの点が(x1...

2  ベクトルが本当に回復されたかどうかを確認する方法?  ( How to verify if a vector is really recovered ) 
圧縮センシング、ベクトルが回復したかどうかを確認する方法、あるいは回復率の数値をどのようにプロットするか?数値実験では、元のベクトルと圧縮されたアルゴリズムによって生成されたベクトルとの間には常に違いがあるので。 ...

0  Gurobi Python感度解析ログファイル  ( Gurobi python sensitivity analysis log file ) 
Gurobi / Pulpを使った線形プログラムを解くと、ソルバーからの追加のログにアクセスしたいと思います - 少なくともどの制約が最も解決策を制限しているか、あるいはその問題を解決しているのかを知っているかケース。 この種の情報を取得し、それをログファ...

6  住民が郵便を取得するために旅行する総距離を最小にするためのメールボックスを配置するためのアルゴリズム  ( Algorithm to place a mailbox to minimize the total distance that the residents t ) 
は、入力が建物オブジェクトの配列として指定されていると仮定します。各建物には、街の先頭からの距離が多数あります。 合計距離=合計(距離[i] *#レジデント[i]) 私はここで似ている2つの質問がわかりましたが、わずかに異なる要件を持っています: 最小化...

2  WindowsにGLPK(GNUリニアプログラミングキット)のインストール  ( Installing glpk gnu linear programming kit on windows ) 
これは迷惑な質問です。しかし、私は誰かがGLPKを上げてWindowsマシン上で実行する方法について、ステップバイステップの説明を手に入れることを願っていました。私は窓7 64ビットを持っています。 私はさまざまなウェブサイトのいくつかの指示を見てみましたが、...




© 2022 cndgn.com All Rights Reserved. Q&Aハウス 全著作権所有