Class 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 - محرك تحسين خطي