Class LinearOptimizationEngine

LinearOptimizationEngine

लीनियर प्रोग्राम को मॉडल और हल करने के लिए इस्तेमाल किया जाने वाला इंजन. यहां दिए गए उदाहरण से, इन समस्याओं को हल किया जा सकता है लीनियर प्रोग्राम:

दो वैरिएबल, x और y:
0 ≤ x ≤ 10
0 ≤ y ≤ 5

सीमाएं:
0 ≤ 2 * x + 5 * y ≤ 10
0 ≤ 10 * x + 3 * y ≤ 20

मकसद:
x + y को बड़ा करें

var engine = LinearOptimizationService.createEngine();

// Add variables, constraints and define the objective with 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
var constraint = engine.addConstraint(0, 10);
constraint.setCoefficient('x', 2);
constraint.setCoefficient('y', 5);

// Create the constraint: 0 <= 10 * x + 3 * y <= 20
var 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
var 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'));
}

तरीके

तरीकारिटर्न टाइपसंक्षिप्त विवरण
addConstraint(lowerBound, upperBound)LinearOptimizationConstraintमॉडल में एक नया लीनियर कंस्ट्रेंट जोड़ता है.
addConstraints(lowerBounds, upperBounds, variableNames, coefficients)LinearOptimizationEngineमॉडल में बैच में कंस्ट्रेंट जोड़ता है.
addVariable(name, lowerBound, upperBound)LinearOptimizationEngineमॉडल में एक नया कंटिन्यूअस वैरिएबल जोड़ता है.
addVariable(name, lowerBound, upperBound, type)LinearOptimizationEngineमॉडल में एक नया वैरिएबल जोड़ता है.
addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)LinearOptimizationEngineमॉडल में एक नया वैरिएबल जोड़ता है.
addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)LinearOptimizationEngineमॉडल में बैच में वैरिएबल जोड़ता है.
setMaximization()LinearOptimizationEngineलीनियर मकसद के फ़ंक्शन को बढ़ाने के लिए, ऑप्टिमाइज़ेशन की दिशा सेट करता है.
setMinimization()LinearOptimizationEngineलीनियर मकसद के फ़ंक्शन को कम करने के लिए, ऑप्टिमाइज़ेशन की दिशा सेट करता है.
setObjectiveCoefficient(variableName, coefficient)LinearOptimizationEngineलीनियर मकसद के फ़ंक्शन में, वैरिएबल का गुणांक सेट करता है.
solve()LinearOptimizationSolution30 सेकंड की डिफ़ॉल्ट समयसीमा के साथ, मौजूदा लीनियर प्रोग्राम को हल करता है.
solve(seconds)LinearOptimizationSolutionमौजूदा लीनियर प्रोग्राम को हल करता है.

विस्तृत दस्तावेज़

addConstraint(lowerBound, upperBound)

मॉडल में एक नया लीनियर कंस्ट्रेंट जोड़ता है. कंस्ट्रेंट की ऊपरी और निचली सीमा है तय करते हैं. वैरिएबल के गुणांक, LinearOptimizationConstraint.setCoefficient(variableName, coefficient) को कॉल करके तय किए जाते हैं.

var engine = LinearOptimizationService.createEngine();

// Create a linear constraint with the bounds 0 and 10
var constraint = engine.addConstraint(0, 10);

// Create a variable so we can add it to the constraint
engine.addVariable('x', 0, 5);

// Set the coefficient of the variable in the constraint. The constraint is now:
// 0 <= 2 * x <= 5
constraint.setCoefficient('x', 2);

पैरामीटर

नामटाइपब्यौरा
lowerBoundNumberकंस्ट्रेंट की निचली सीमा
upperBoundNumberकंस्ट्रेंट का ऊपरी बाउंड

वापसी का टिकट

LinearOptimizationConstraint — कंस्ट्रेंट बनाया गया


addConstraints(lowerBounds, upperBounds, variableNames, coefficients)

मॉडल में बैच में कंस्ट्रेंट जोड़ता है.

var engine = LinearOptimizationService.createEngine();

// Add a boolean variable 'x' (integer >= 0 and <= 1) and a real (continuous >= 0 and <= 100)
variable 'y'.
engine.addVariables(['x', 'y'], [0, 0], [1, 100],
    [LinearOptimizationService.VariableType.INTEGER,
        LinearOptimizationService.VariableType.CONTINUOUS]);

// Adds two constraints:
//   0 <= x + y <= 3
//   1 <= 10 * x - y <= 5
engine.addConstraints([0.0, 1.0], [3.0, 5.0], [['x', 'y'], ['x', 'y']], [[1, 1], [10, -1]]);

पैरामीटर

नामटाइपब्यौरा
lowerBoundsNumber[]कंस्ट्रेंट की निचली सीमाएं
upperBoundsNumber[]कंस्ट्रेंट की ऊपरी सीमाएं
variableNamesString[][]उन वैरिएबल के नाम जिनके लिए गुणांक सेट किए जा रहे हैं
coefficientsNumber[][]गुणांक सेट किए जा रहे हैं

वापसी का टिकट

LinearOptimizationEngine — एक लीनियर ऑप्टिमाइज़ेशन इंजन


addVariable(name, lowerBound, upperBound)

मॉडल में एक नया कंटिन्यूअस वैरिएबल जोड़ता है. वैरिएबल को इसके नाम से रेफ़र किया गया है. टाइप VariableType.CONTINUOUS पर सेट है.

var engine = LinearOptimizationService.createEngine();
var constraint = engine.addConstraint(0, 10);

// Add a boolean variable (integer >= 0 and <= 1)
engine.addVariable('x', 0, 1, LinearOptimizationService.VariableType.INTEGER);

// Add a real (continuous) variable. Notice the lack of type specification.
engine.addVariable('y', 0, 100);

पैरामीटर

नामटाइपब्यौरा
nameStringवैरिएबल का यूनीक नाम
lowerBoundNumberवैरिएबल की निचली सीमा
upperBoundNumberवैरिएबल की ऊपरी सीमा

वापसी का टिकट

LinearOptimizationEngine — एक लीनियर ऑप्टिमाइज़ेशन इंजन


addVariable(name, lowerBound, upperBound, type)

मॉडल में एक नया वैरिएबल जोड़ता है. वैरिएबल को इसके नाम से रेफ़र किया गया है.

var engine = LinearOptimizationService.createEngine();
var constraint = engine.addConstraint(0, 10);

// Add a boolean variable (integer >= 0 and <= 1)
engine.addVariable('x', 0, 1, LinearOptimizationService.VariableType.INTEGER);

// Add a real (continuous) variable
engine.addVariable('y', 0, 100, LinearOptimizationService.VariableType.CONTINUOUS);

पैरामीटर

नामटाइपब्यौरा
nameStringवैरिएबल का यूनीक नाम
lowerBoundNumberवैरिएबल की निचली सीमा
upperBoundNumberवैरिएबल की ऊपरी सीमा
typeVariableTypeवैरिएबल का टाइप, VariableType में से कोई एक हो सकता है

वापसी का टिकट

LinearOptimizationEngine — एक लीनियर ऑप्टिमाइज़ेशन इंजन


addVariable(name, lowerBound, upperBound, type, objectiveCoefficient)

मॉडल में एक नया वैरिएबल जोड़ता है. वैरिएबल को इसके नाम से रेफ़र किया गया है.

var engine = LinearOptimizationService.createEngine();
var constraint = engine.addConstraint(0, 10);

// Add a boolean variable (integer >= 0 and <= 1)
engine.addVariable('x', 0, 1, LinearOptimizationService.VariableType.INTEGER, 2);
// The objective is now 2 * x.

// Add a real (continuous) variable
engine.addVariable('y', 0, 100, LinearOptimizationService.VariableType.CONTINUOUS, -5);
// The objective is now 2 * x - 5 * y.

पैरामीटर

नामटाइपब्यौरा
nameStringवैरिएबल का यूनीक नाम
lowerBoundNumberवैरिएबल की निचली सीमा
upperBoundNumberवैरिएबल की ऊपरी सीमा
typeVariableTypeवैरिएबल का टाइप, VariableType में से कोई एक हो सकता है
objectiveCoefficientNumberवैरिएबल का मकसद गुणांक

वापसी का टिकट

LinearOptimizationEngine — एक लीनियर ऑप्टिमाइज़ेशन इंजन


addVariables(names, lowerBounds, upperBounds, types, objectiveCoefficients)

मॉडल में बैच में वैरिएबल जोड़ता है. वैरिएबल को उनके नाम से रेफ़र किया जाता है.

var engine = LinearOptimizationService.createEngine();

// Add a boolean variable 'x' (integer >= 0 and <= 1) and a real (continuous >=0 and <= 100)
// variable 'y'.
engine.addVariables(['x', 'y'], [0, 0], [1, 100],
    [LinearOptimizationService.VariableType.INTEGER,
        LinearOptimizationService.VariableType.CONTINUOUS]);

पैरामीटर

नामटाइपब्यौरा
namesString[]वैरिएबल के यूनीक नाम
lowerBoundsNumber[]वैरिएबल की निचली सीमाएं
upperBoundsNumber[]वैरिएबल की ऊपरी सीमाएं
typesVariableType[]वैरिएबल के टाइप, VariableType में से एक हो सकता है
objectiveCoefficientsNumber[]वैरिएबल के मकसद गुणांक

वापसी का टिकट

LinearOptimizationEngine — एक लीनियर ऑप्टिमाइज़ेशन इंजन


setMaximization()

लीनियर मकसद के फ़ंक्शन को बढ़ाने के लिए, ऑप्टिमाइज़ेशन की दिशा सेट करता है.

var engine = LinearOptimizationService.createEngine();

// Add a real (continuous) variable. Notice the lack of type specification.
engine.addVariable('y', 0, 100);

// Set the coefficient of 'y' in the objective.
// The objective is now 5 * y
engine.setObjectiveCoefficient('y', 5);

// We want to maximize.
engine.setMaximization();

वापसी का टिकट

LinearOptimizationEngine — एक लीनियर ऑप्टिमाइज़ेशन इंजन


setMinimization()

लीनियर मकसद के फ़ंक्शन को कम करने के लिए, ऑप्टिमाइज़ेशन की दिशा सेट करता है.

var engine = LinearOptimizationService.createEngine();

// Add a real (continuous) variable. Notice the lack of type specification.
engine.addVariable('y', 0, 100);

// Set the coefficient of 'y' in the objective.
// The objective is now 5 * y
engine.setObjectiveCoefficient('y', 5);

// We want to minimize
engine.setMinimization();

वापसी का टिकट

LinearOptimizationEngine — एक लीनियर ऑप्टिमाइज़ेशन इंजन


setObjectiveCoefficient(variableName, coefficient)

लीनियर मकसद के फ़ंक्शन में, वैरिएबल का गुणांक सेट करता है.

var engine = LinearOptimizationService.createEngine();

// Add a real (continuous) variable. Notice the lack of type specification.
engine.addVariable('y', 0, 100);

// Set the coefficient of 'y' in the objective.
// The objective is now 5 * y
engine.setObjectiveCoefficient('y', 5);

पैरामीटर

नामटाइपब्यौरा
variableNameStringउस वैरिएबल का नाम जिसके लिए गुणांक सेट किया जा रहा है
coefficientNumberमकसद फ़ंक्शन में वैरिएबल का कोएफ़िशिएंट

वापसी का टिकट

LinearOptimizationEngine — एक लीनियर ऑप्टिमाइज़ेशन इंजन


solve()

30 सेकंड की डिफ़ॉल्ट समयसीमा के साथ, मौजूदा लीनियर प्रोग्राम को हल करता है. नतीजे में मिला समाधान दिखाता है.

var engine = LinearOptimizationService.createEngine();

// Add variables, constraints and define the objective with addVariable(), addConstraint(), etc
engine.addVariable('x', 0, 10);

// ...

// Solve the linear program
var solution = engine.solve();
if (!solution.isValid()) {
  throw 'No solution ' + solution.getStatus();
}
Logger.log('Value of x: ' + solution.getVariableValue('x'));

वापसी का टिकट

LinearOptimizationSolution — ऑप्टिमाइज़ेशन का समाधान


solve(seconds)

मौजूदा लीनियर प्रोग्राम को हल करता है. नतीजे में मिला समाधान दिखाता है. और अगर यह इष्टतम समाधान.

var engine = LinearOptimizationService.createEngine();

// Add variables, constraints and define the objective with addVariable(), addConstraint(), etc
engine.addVariable('x', 0, 10);

// ...

// Solve the linear program
var solution = engine.solve(300);
if (!solution.isValid()) {
  throw 'No solution ' + solution.getStatus();
}
Logger.log('Value of x: ' + solution.getVariableValue('x'));

पैरामीटर

नामटाइपब्यौरा
secondsNumberसमस्या को हल करने की समयसीमा, सेकंड में; ज़्यादा से ज़्यादा समयसीमा 300 सेकंड है

वापसी का टिकट

LinearOptimizationSolution — ऑप्टिमाइज़ेशन का समाधान