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סוג המשתנים שנוצרו על ידי פותר הבעיות.

Methods

שיטהסוג הערך שמוחזרתיאור קצר
createEngine()LinearOptimizationEngineיוצר מנוע לפתרון תוכניות ליניאריות (יכול להיות שיהיו תוכניות עם מספרים שלמים מעורבים).

תיעוד מפורט

createEngine()

יוצר מנוע לפתרון תוכניות ליניאריות (יכול להיות שיהיו תוכניות עם מספרים שלמים מעורבים).

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

// ...

חזרה

LinearOptimizationEngine — מנוע אופטימיזציה לינארית