Class LinearOptimizationSolution

লিনিয়ার অপ্টিমাইজেশন সলিউশন

একটি লিনিয়ার প্রোগ্রামের সমাধান। নীচের উদাহরণ নিম্নলিখিত লিনিয়ার প্রোগ্রাম সমাধান করে:

দুটি ভেরিয়েবল, 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('Objective  value: ' + solution.getObjectiveValue());
  Logger.log('Value of x: ' + solution.getVariableValue('x'));
  Logger.log('Value of y: ' + solution.getVariableValue('y'));
}

পদ্ধতি

পদ্ধতি রিটার্ন টাইপ সংক্ষিপ্ত বর্ণনা
getObjectiveValue() Number বর্তমান সমাধানে উদ্দেশ্য ফাংশনের মান পায়।
getStatus() Status সমাধানের মর্যাদা পায়।
getVariableValue(variableName) Number LinearOptimizationEngine.solve() এ শেষ কলের মাধ্যমে তৈরি করা সমাধানে একটি ভেরিয়েবলের মান পায়।
isValid() Boolean সমাধানটি সম্ভাব্য বা সর্বোত্তম কিনা তা নির্ধারণ করে।

বিস্তারিত ডকুমেন্টেশন

getObjectiveValue()

বর্তমান সমাধানে উদ্দেশ্য ফাংশনের মান পায়।

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();
Logger.log('ObjectiveValue: ' + solution.getObjectiveValue());

প্রত্যাবর্তন

Number — উদ্দেশ্য ফাংশনের মান


getStatus()

সমাধানের মর্যাদা পায়। একটি সমস্যা সমাধানের আগে, স্ট্যাটাসটি NOT_SOLVED হবে।

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.getStatus() != LinearOptimizationService.Status.FEASIBLE &&
    solution.getStatus() != LinearOptimizationService.Status.OPTIMAL) {
  throw 'No solution ' + status;
}
Logger.log('Status: ' + solution.getStatus());

প্রত্যাবর্তন

Status - সমাধানকারীর অবস্থা


getVariableValue(variableName)

LinearOptimizationEngine.solve() এ শেষ কলের মাধ্যমে তৈরি করা সমাধানে একটি ভেরিয়েবলের মান পায়।

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();
Logger.log('Value of x: ' + solution.getVariableValue('x'));

পরামিতি

নাম টাইপ বর্ণনা
variableName String ভেরিয়েবলের নাম

প্রত্যাবর্তন

Number — সমাধানের ভেরিয়েবলের মান


isValid()

সমাধানটি সম্ভাব্য বা সর্বোত্তম কিনা তা নির্ধারণ করে।

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 ' + status;
}

প্রত্যাবর্তন

Booleantrue যদি সমাধানটি বৈধ হয় ( Status.FEASIBLE বা Status.OPTIMAL ); false না হলে