Class LinearOptimizationService

LinearOptimizationService

خدمة التحسين الخطي، تُستخدم لنمذجة وحلّ البرامج الخطية والبرامج الخطية المختلطة ذات الأعداد الصحيحة يحلّ المثال أدناه البرنامج الخطي التالي:

متغيّران، x وy:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

القيود:
0 ≤ 2 * x + 5 * y ≤ 10
0 ≤ 10 * x + 3 * y ≤ 20

الهدف:
زيادة x + y إلى أقصى حد

const engine = LinearOptimizationService.createEngine();

// Add variables, constraints and define the objective using addVariable(),
// addConstraint(), etc. Add two variables, 0 <= x <= 10 and 0 <= y <= 5
engine.addVariable('x', 0, 10);
engine.addVariable('y', 0, 5);

// Create the constraint: 0 <= 2 * x + 5 * y <= 10
let constraint = engine.addConstraint(0, 10);
constraint.setCoefficient('x', 2);
constraint.setCoefficient('y', 5);

// Create the constraint: 0 <= 10 * x + 3 * y <= 20
constraint = engine.addConstraint(0, 20);
constraint.setCoefficient('x', 10);
constraint.setCoefficient('y', 3);

// Set the objective to be x + y
engine.setObjectiveCoefficient('x', 1);
engine.setObjectiveCoefficient('y', 1);

// Engine should maximize the objective.
engine.setMaximization();

// Solve the linear program
const solution = engine.solve();
if (!solution.isValid()) {
  Logger.log(`No solution ${solution.getStatus()}`);
} else {
  Logger.log(`Value of x: ${solution.getVariableValue('x')}`);
  Logger.log(`Value of y: ${solution.getVariableValue('y')}`);
}

الخصائص

الخاصيةالنوعالوصف
StatusStatusحالة أداة الحلّ
VariableTypeVariableTypeنوع المتغيّرات التي أنشأتها أداة الحلّ

الطُرق

الطريقةنوع القيمة التي تم إرجاعهاوصف قصير
createEngine()LinearOptimizationEngineإنشاء محرّك لحلّ البرامج الخطية (البرامج المختلطة ذات الأعداد الصحيحة المحتملة)

مستندات تفصيلية

createEngine()

إنشاء محرّك لحلّ البرامج الخطية (البرامج المختلطة ذات الأعداد الصحيحة المحتملة)

// Creates a linear optimization engine.
const engine = LinearOptimizationService.createEngine();
engine.addVariable('x', 0, 10);

// ...

الإرجاع

LinearOptimizationEngine — محرّك تحسين خطي