数学规划求解器
创建任务
创建数学规划求解器-数学规划求解器任务, 该接口为异步操作,返回任务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 | 任务状态,包括:
|
状态码: 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"
} 
