数学规划求解器
创建任务
创建数学规划求解器-数学规划求解器任务, 该接口为异步操作,返回任务ID,任务的状态及结果请通过查询任务详情接口获取
URI
POST /v2/{project_id}/optverse/optverse-mpsolver/tasks
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
project_id |
是 |
String |
用户项目ID,获取方法请参见获取项目ID。 |
请求参数
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
Content-Type |
是 |
String |
该字段填为“application/json”。 |
备注:以下信息由用户提供
备注:以下信息由用户提供
求解器开放参数如下:
名称 |
类型 |
必选 |
描述 |
---|---|---|---|
method |
int |
否 |
求解算法。[0,2]
|
time_limit |
double |
否 |
求解时间上限,单位为秒。取值范围[0.0, 1e+20](1e+20) |
gap |
double |
否 |
仅对MIP问题有效。[0, 1],默认值为0.0 |
响应参数
状态码: 201
创建成功响应信息
参数 |
参数类型 |
描述 |
---|---|---|
task_id |
String |
任务编号。 |
create_time |
String |
任务创建时间 |
estimated_start_time |
String |
预估开始时间 |
status |
String |
任务运行状态。(Pending,Running, Failed, Succeeded) |
状态码: 400
客户端错误响应信息
参数 |
参数类型 |
描述 |
---|---|---|
无 |
String |
响应错误信息,详见错误码列表 |
请求示例
{ "input_json": { "input": { "type": "obs", "data": { "bucket": "oroas-bi-data", "object": "oroas-optvsolver/input/dcmulti.mps" } }, "output": { "type": "obs", "data": { "bucket": "oroas-bi-data", "object": "oroas-optvsolver/output" } }, "parameters": { "time_limit": 60.0, "gap": 0.0 } } }
或
{ "input_json": { "input": { "type": "base64", "data": { "content": "Kk5BTUU6ICAgICAgICAgZG....==", "file_type": ".mps" } }, "output": {}, "parameters": { "time_limit": 60.0, "gap": 0.0 } } }
响应示例
成功响应示例
{ "task_id": "40axxxx-701a-47cf-8b56-648xxxxxxd25" }
参数说明如表14所示。
{ "error_code": "JOB_MANAGER.12020007", "error_msg": "The task input valid error, inputJson is null." }
查询任务
该API用于查询并显示数学规划求解器任务详情
URI
GET /v2/{project_id}/optverse/optverse-mpsolver/tasks/{task_id}
请求参数
名称 |
类型 |
IN |
必选 |
描述 |
---|---|---|---|---|
X-Auth-Token |
string |
header |
是 |
用户凭证 |
project_id |
string |
path |
是 |
项目ID |
service_type |
string |
path |
是 |
子服务类型,针对不同服务, 用户侧不需单独赋值 |
task_id |
string |
path |
是 |
待查询任务id |
响应参数
状态码: 200
创建成功响应信息
参数 |
参数类型 |
是否必选 |
描述 |
---|---|---|---|
task_id |
sring |
是 |
任务id |
input_json |
string |
是 |
求解器不涉及表5 |
input |
是 |
求解器输入文件信息 |
|
output |
是 |
求解器输出文件信息 |
|
status |
string |
是 |
任务状态,包括:
|
progress |
string |
是 |
返回求解器日志。求解状态在日志最后显示,可能的状态包括: - Unknown: 未知状态,可能处于问题读取过程中,或其他未定义状态 - Time limit reached: 达到时间上限 - Memory limit reached: 达到宿主机内存上限 - Optimal solution found: 找到最优解(或达到目标gap) - Problem is infeasible: 问题不可行 - Problem is unbounded: 问题无边界 - Problem is infeasible or unbounded: 问题不可行或无边界 |
output_json |
string |
是 |
求解器服务不涉及 |
output_file_base64 |
string |
是 |
求解器服务不涉及 |
start_time |
String |
是 |
任务开始执行时间 |
end_time |
String |
是 |
任务结束时间 |
create_time |
String |
是 |
任务创建时间 |
状态码: 400
任务不存在
参数 |
参数类型 |
是否必选 |
描述 |
---|---|---|---|
- |
- |
是 |
任务{0}不存在 |
响应示例
{ "task_id": "1e31xxxx-xxxx-xxxx-xxxx-xxxxxxb635c2", "input_json": null, "status": "Succeeded", "progress": { "Gap": "0.0000%" }, "output_json": { "outputs": [ { "data": { "bucket": "job-manager-staff", "object": "optvsolver/output/1e31xxxx-xxxx-xxxx-xxxx-xxxxxxb635c2/result.sol" }, "type": "obs" }, { "data": { "bucket": "job-manager-staff", "object": "optvsolver/output/1e31xxxx-xxxx-xxxx-xxxx-xxxxxxb635c2/progress.info" }, "type": "obs" } ], "solve_results": { "gap": "0.0000%", "node": "5", "time": "3.96", "status": "Optimal solution found", "best_bound": "1.881820000000e+05", "lp_iteration": "15667", "best_solution": "1.881820000000e+05" } }, "estimated_start_time": null, "start_time": "2025-08-12T09:35:55.436Z", "end_time": "2025-08-12T09:36:02.152Z", "create_time": "2025-08-12T09:35:54.671Z" }