Optimization Service

การเพิ่มประสิทธิภาพ

บริการเพิ่มประสิทธิภาพเชิงเส้น ซึ่งใช้ในการสร้างแบบจำลองและแก้ปัญหาโปรแกรมเชิงเส้นแบบเชิงเส้นและจำนวนเต็มผสม

คลาส

ชื่อรายละเอียดแบบย่อ
LinearOptimizationConstraintออบเจ็กต์ที่เก็บข้อจำกัดเชิงเส้นของรูปแบบ lowerBound ≤ Sum(a(i) x(i)) ≤ upperBound โดยที่ lowerBound และ upperBound เป็นค่าคงที่ a(i) เป็นค่าสัมประสิทธิ์คงที่ และ x(i) เป็นตัวแปร (ไม่ทราบ)
LinearOptimizationEngineเครื่องมือที่ใช้ในการสร้างโมเดลและแก้โจทย์โปรแกรมเชิงเส้น
LinearOptimizationServiceบริการเพิ่มประสิทธิภาพเชิงเส้น ซึ่งใช้ในการสร้างแบบจำลองและแก้ปัญหาโปรแกรมเชิงเส้นแบบเชิงเส้นและจำนวนเต็มผสม
LinearOptimizationSolutionโซลูชันของโปรแกรมเชิงเส้น
Statusสถานะของโซลูชัน
VariableTypeประเภทตัวแปรที่เครื่องมือสร้างขึ้น

LinearOptimizationConstraint

วิธีการ

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
setCoefficient(variableName, coefficient)LinearOptimizationConstraintกำหนดค่าสัมประสิทธิ์ของตัวแปรในข้อจำกัด

LinearOptimizationEngine

วิธีการ

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
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()LinearOptimizationSolutionแก้โจทย์โปรแกรมเชิงเส้นปัจจุบันที่มีกำหนดเวลาเริ่มต้นเป็น 30 วินาที
solve(seconds)LinearOptimizationSolutionแก้โปรแกรมเชิงเส้นปัจจุบัน

LinearOptimizationService

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้Typeคำอธิบาย
StatusStatusสถานะของเครื่องมือแก้โจทย์
VariableTypeVariableTypeประเภทของตัวแปรที่เครื่องมือแก้โจทย์สร้างขึ้น

วิธีการ

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
createEngine()LinearOptimizationEngineสร้างเครื่องมือในการแก้ปัญหาโปรแกรมเชิงเส้น (อาจเป็นโปรแกรมจำนวนเต็มผสม)

LinearOptimizationSolution

วิธีการ

วิธีการประเภทการแสดงผลรายละเอียดแบบย่อ
getObjectiveValue()Numberรับค่าของฟังก์ชันวัตถุประสงค์ในคำตอบปัจจุบัน
getStatus()Statusรับสถานะของโซลูชัน
getVariableValue(variableName)Numberรับค่าของตัวแปรในโซลูชันที่สร้างขึ้นจากการเรียกล่าสุดไปยัง LinearOptimizationEngine.solve()
isValid()Booleanพิจารณาว่าโซลูชันนี้เป็นไปได้หรือเหมาะสมที่สุด

Status

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้Typeคำอธิบาย
OPTIMALEnumสถานะเมื่อพบวิธีแก้ปัญหาที่เหมาะสม
FEASIBLEEnumสถานะเมื่อพบโซลูชันที่เป็นไปได้ (ไม่จำเป็นเสมอไป)
INFEASIBLEEnumสถานะเมื่อโมเดลปัจจุบันใช้งานไม่ได้ (ไม่มีวิธีแก้ไข)
UNBOUNDEDEnumสถานะเมื่อยกเลิกการเชื่อมโยงรูปแบบปัจจุบัน
ABNORMALEnumสถานะเมื่อไม่พบวิธีแก้ปัญหาด้วยเหตุผลที่ไม่คาดคิด
MODEL_INVALIDEnumสถานะเมื่อรูปแบบไม่ถูกต้อง
NOT_SOLVEDEnumสถานะเมื่อ LinearOptimizationEngine.solve() ยังไม่มีการโทร

VariableType

พร็อพเพอร์ตี้

พร็อพเพอร์ตี้Typeคำอธิบาย
INTEGEREnumประเภทตัวแปรที่ใช้ได้เฉพาะค่าจำนวนเต็ม
CONTINUOUSEnumประเภทตัวแปรที่ใช้ค่าจริงใดก็ได้