Optimization Service

Pengoptimalan

Layanan pengoptimalan linear, yang digunakan untuk memodelkan dan menyelesaikan program linear dan bilangan bulat campuran.

Class

NamaDeskripsi singkat
LinearOptimizationConstraintObjek yang menyimpan batasan linear dalam bentuk lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound dengan lowerBound dan upperBound adalah konstanta, a(i) adalah koefisien konstanta, dan x(i) adalah variabel (yang tidak diketahui).
LinearOptimizationEngineMesin yang digunakan untuk memodelkan dan memecahkan program linear.
LinearOptimizationServiceLayanan pengoptimalan linear, yang digunakan untuk memodelkan dan menyelesaikan program linear dan bilangan bulat campuran.
LinearOptimizationSolutionSolusi program linear.
StatusStatus solusi.
VariableTypeJenis variabel yang dibuat oleh mesin.

LinearOptimizationConstraint

Metode

MetodeJenis nilai yang ditampilkanDeskripsi singkat
setCoefficient(variableName, coefficient)LinearOptimizationConstraintMenetapkan koefisien variabel dalam batasan.

LinearOptimizationEngine

Metode

MetodeJenis nilai yang ditampilkanDeskripsi singkat
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintMenambahkan batasan linear baru dalam model.
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineMenambahkan batasan dalam batch ke model.
addVariable(name, lowerBound, upperBound)LinearOptimizationEngineMenambahkan variabel berkelanjutan baru ke model.
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngineMenambahkan variabel baru ke model.
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngineMenambahkan variabel baru ke model.
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngineMenambahkan variabel dalam batch ke model.
setMaximization()LinearOptimizationEngineMenetapkan arah pengoptimalan untuk memaksimalkan fungsi objektif linear.
setMinimization()LinearOptimizationEngineMenetapkan arah pengoptimalan untuk meminimalkan fungsi objektif linear.
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngineMenetapkan koefisien variabel dalam fungsi objektif linear.
solve()LinearOptimizationSolutionMenyelesaikan program linier saat ini dengan batas waktu default 30 detik.
solve(seconds)LinearOptimizationSolutionMenyelesaikan program linear saat ini.

LinearOptimizationService

Properti

PropertiJenisDeskripsi
StatusStatusStatus pemecah.
VariableTypeVariableTypeJenis variabel yang dibuat oleh pemecah.

Metode

MetodeJenis nilai yang ditampilkanDeskripsi singkat
createEngine()LinearOptimizationEngineMembuat mesin untuk menyelesaikan program linear (berpotensi program bilangan bulat campuran).

LinearOptimizationSolution

Metode

MetodeJenis nilai yang ditampilkanDeskripsi singkat
getObjectiveValue()NumberMendapatkan nilai fungsi objektif dalam solusi saat ini.
getStatus()StatusMendapatkan status solusi.
getVariableValue(variableName)NumberMendapatkan nilai variabel dalam solusi yang dibuat oleh panggilan terakhir ke LinearOptimizationEngine.solve().
isValid()BooleanMenentukan apakah solusi layak atau optimal.

Status

Properti

PropertiJenisDeskripsi
OPTIMALEnumStatus saat solusi optimal telah ditemukan.
FEASIBLEEnumStatus saat solusi yang layak (tidak harus optimal) telah ditemukan.
INFEASIBLEEnumStatus saat model saat ini tidak dapat diterapkan (tidak memiliki solusi).
UNBOUNDEDEnumStatus saat model saat ini tidak terikat.
ABNORMALEnumStatus saat gagal menemukan solusi karena alasan yang tidak terduga.
MODEL_INVALIDEnumStatus saat model tidak valid.
NOT_SOLVEDEnumStatus saat LinearOptimizationEngine.solve() belum dipanggil.

VariableType

Properti

PropertiJenisDeskripsi
INTEGEREnumJenis variabel yang hanya dapat mengambil nilai bilangan bulat.
CONTINUOUSEnumJenis variabel yang dapat mengambil nilai riil apa pun.