Class LinearOptimizationSolution

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

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

দুটি চলক, 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 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
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(`Objective  value: ${solution.getObjectiveValue()}`);
  Logger.log(`Value of x: ${solution.getVariableValue('x')}`);
  Logger.log(`Value of y: ${solution.getVariableValue('y')}`);
}

পদ্ধতি

পদ্ধতি রিটার্ন টাইপ সংক্ষিপ্ত বিবরণ
get Objective Value() Number বর্তমান সমাধানে উদ্দেশ্যমূলক ফাংশনের মান পাওয়া যায়।
get Status() Status সমাধানের অবস্থা জানা যায়।
get Variable Value(variableName) Number Linear Optimization Engine.solve() -এর সর্বশেষ কলের মাধ্যমে তৈরি সলিউশনের একটি ভেরিয়েবলের মান পাওয়া যায়।
is Valid() Boolean সমাধানটি সম্ভাব্য বা সর্বোত্তম কিনা তা নির্ধারণ করে।

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

getObjectiveValue()

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

const engine = LinearOptimizationService.createEngine();

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

// ...

// Solve the linear program
const solution = engine.solve();
Logger.log(`ObjectiveValue: ${solution.getObjectiveValue()}`);

ফেরত

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


getStatus()

সমাধানের অবস্থা জানা যায়। কোনো সমস্যা সমাধান করার আগে, অবস্থাটি NOT_SOLVED থাকবে।

const engine = LinearOptimizationService.createEngine();

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

// ...

// Solve the linear program
const solution = engine.solve();
const status = solution.getStatus();

if (status !== LinearOptimizationService.Status.FEASIBLE &&
    status !== LinearOptimizationService.Status.OPTIMAL) {
  throw `No solution ${status}`;
}
Logger.log(`Status: ${status}`);

ফেরত

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


getVariableValue(variableName)

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

const engine = LinearOptimizationService.createEngine();

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

// ...

// Solve the linear program
const solution = engine.solve();
Logger.log(`Value of x: ${solution.getVariableValue('x')}`);

প্যারামিটার

নাম প্রকার বর্ণনা
variable Name String ভেরিয়েবলের নাম

ফেরত

Number — সমাধানে চলকের মান


isValid()

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

const engine = LinearOptimizationService.createEngine();

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

// ...

// Solve the linear program
const solution = engine.solve();
if (!solution.isValid()) {
  throw `No solution ${solution.getStatus()}`;
}

ফেরত

Boolean — সমাধানটি বৈধ হলে ( Status.FEASIBLE বা Status.OPTIMAL ) true ; না হলে false