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 সমাধানটি সম্ভাব্য বা সর্বোত্তম কিনা তা নির্ধারণ করে।

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

get Objective Value()

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

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 — উদ্দেশ্য ফাংশনের মান


get Status()

সমাধানের মর্যাদা পায়। একটি সমস্যা সমাধানের আগে, স্ট্যাটাসটি 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 - সমাধানকারীর অবস্থা


get Variable Value(variableName)

Linear Optimization Engine.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 — সমাধানের ভেরিয়েবলের মান


is Valid()

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

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()}`;
}

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

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