問題タブ [simplex]
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.
java - シンプレックス アルゴリズムがループに陥った
割り当てのためにシンプレックス アルゴリズムを Java で記述しようとしています。私のコードは特定の入力に対して機能しますが、非常に多くの場合、アルゴリズムはサイクルでスタックし、状態 A から状態 B に再計算してから状態 A に戻ります。無限ループに入ります。
最初は縮退の問題だと思いました。しかし、私は実際に Bland のルールを使用しています。さらなるブレインストーミングとデバッグの試みにより、循環を引き起こしているのは制約不等式の負の係数であることがわかりました。
それで、エラーが発生している理由を理解していると思います。しかし、問題を解決するためにアルゴリズムを変更する方法がわかりません。
これが私のコード全体です...
(関連するコードのスニペットのみを投稿して、これを解読しようとするのに苦労しないようにしたかったのですが、私のエラーがどこにあるかを見つけるには、とにかくコード全体が必要になると思いました.コメントはできるだけ具体的に記入してください。)
このビデオをシンプレックス法を理解するためのリファレンスとして使用しました: https://www.youtube.com/watch?v=gRgsT9BB5-8
input.txt は次のようになります。
これは動作します
解決策を与える
これは機能しません
どんな助けやアドバイスも大歓迎です。どうもありがとうございました!
java - null ポインター例外を取得せずに 2 つの BigInteger を追加する方法
パスカルの三角形を出力しようとしましたが、整数の要件が非常に高く、つまり の最大値を超えているlong
ため、BigInteger を使用しました。しかし、クラス PascalsTriangle に BigIntegers を追加する部分で NullPointerException が発生しています。これは、2 次元の BigInteger 配列を追加する正しい方法ですか?
javascript - 画像レイアウトの最適化
空白の量が最小限になるように、JavaScript を使用して Web サイト ページに画像を最適にレイアウトする必要があります。
最適化問題は、基本的に以下を最小化することです。
ただし、画像を重ねることはできないため、各画像の制約は次のとおりです。
さらに、画像の右端の座標をページの幅より大きくすることはできず、画像の左端の座標は > 0 でなければならないという制約があります。
最初は線形計画問題として定式化することを考えていましたが、私が見た JavaScript 用の線形計画ライブラリはすべて、そのような複雑な制約を許可していないため、これは線形問題ではない可能性があると思います。
それから私はこれを動的プログラミングの問題と考え始めましたが、レイアウトのすべての組み合わせを試してみないと解決する方法がわかりません。
この種の問題を効率的に解決する方法を知っている人はいますか?
java - シンプレックス法によるオブジェクトの頂点の取得
いくつかの方程式によって決定されるオブジェクトの頂点を見つけたいと思います。例えば。
そして、それはによって制限されています
そしてそれは六面体を与える。このオブジェクトが作成された頂点の位置を知りたいです。
これを行う唯一の方法は、この方程式のすべての可能なバリエーションをチェックするコードを作成することですか?
r - R - nolptr - 最良のソリューションだけでなく、50 のより良いソリューションを見つける
nerldermead()
パッケージの関数を使用していnolptr
ますが、たとえば、最も可能性の高い 50 のソリューションを見つけたいと考えています。この例では:
のみを取得solution=12
しますが、この最適なソリューションと他の 49 のソリューションを取得します。関数のこの情報を抽出する方法はありnerldermead()
ますか?
どうもありがとう !