mixed-integer-programming

    0

    1答えて

    条件式を持つ目的関数を使用することは可能ですか?ドキュメントからの例を変更 、私のような表現たいと思います: def objective_function(model): return model.x[0] if model.x[1] < const else model.x[2] model.Obj = Objective(rule=objective_function, sens

    1

    1答えて

    リニアプログラム(または必要に応じてMIP)でオーバーラップしない制約(つまり、2つの長方形が重ならない)を書きたいとします。私は、制約プログラミングでそれを行う方法を知っている: オブジェクトの場合、iとj: X [i]が+ DX [i]を< = xの[J]またはy [i]が+ DY [i]の< < = x [i] < = y [i] ここで、xとyは座標の座標を含む配列です。オブジェクトとdx

    0

    2答えて

    私はPuLPを使用して一連の制約条件を満たすことを検討していますが、変数を設定する方法は正確にはわかりません。例えば 、どのように私は、次の制約のために変数を設定します: ((x_1 < x_2) AND (x_1 < x_3)) OR ((x_1 > x_2) AND (x_1 > x_3)) 変数X_1は、X_2とX_3両方未満以上のいずれかです。 ご協力いただければ幸いです。ありがとう!

    2

    1答えて

    私は(ほぼ)CPLEXと最適化の初心者です。私はMatlabのCPLEX(12.7.1)の新しく追加された機能を使って最適化問題を設定しようとしています。これは区分線形(PWL)制約の定義を可能にします。 しかし、Matlabでどのように行うのかはわかりません。これに関する文書はかなり疎です。 IBMには、線形等量とタイプ2のSOSの組み合わせとして区分線形制約を定義する1つの例(transpor

    0

    1答えて

    CPLEX-C#でMILPの問題を解決したい。私の問題のサイズは大きく、CPU時間を改善するために、私は初期のソリューションを使いたいと思っています。このソリューションをcplexに追加して、この初期ソリューションで問題を解決したいと思います。 Iは、多次元配列決定変数X[i][j](バイナリ決定変数)を有しており、値がstart[i][j]に等しいこのコードで try {

    1

    1答えて

    パッケージをrと一緒に使用していますが、私のニーズに合わせて目的関数を変更する方法がわかりません。最初のモデルは走っていますが、目的は実際に私が必要としているものではありません。 library(ompr) library(magrittr) library(ROI.plugin.glpk) library(ompr.roi) anz_schulen <- 50 anz_sfkz <-

    0

    1答えて

    MIPモデル内の特定の制約のシャドウプライスを抽出しようとしています。グーロビをソルバとして使用しています。 I制約を確立していた場合、私は次のコードを使用 - # Balance Constraint for hour in hours: model.addConstr((quicksum(p[hour, i] for i in num_gen) + (quicksum(discharge[ho

    0

    1答えて

    Pythonの混合整数非線形プログラミングライブラリで外部カスタム関数を動的制約として追加することはできますか?私はboolean変数とNumpy行列(サイズm x n)を使って作業しています。要求された合計値の合計を最小限にする必要があります(例:tot_vals = 2,3 ...... n)。したがって、私はいくつかの "空間的な"制約を追加したい、私は(ブールインデックスに基づいて)関数を

    1

    1答えて

    私はMROを解決するためにGurobi 7を使用しています。私はいくつかの異なる変数を持っています。しかし、私は具体的に "x"と "y"の2つに興味があります。参考のために、私はソルバーにxとyの変数を追加する方法を示し私のコードを与えている: # Creating Variables x = {} y = {} # Adding Variables for i in range(I)

    0

    1答えて

    を使用して制約で使用MOD機能... 100、200、300 ... I mod()、round()、int()を使って次の式を試していますが、LpAffineExpressionをサポートしていないため動作しません。 時間probl + = lpSum([varSKUにおける時間VARS [H] Hなら[2] == B])%100 == 0 probl + = lpSum([VARS [H]でh