云服务器内容精选
-
响应消息体 响应消息体通常以结构化格式返回,与响应消息头中Content-type对应,传递除响应消息头之外的内容。 为篇幅起见,这里只展示部分内容,以求解器查询任务返回结果为例。 { "task_id": "244fxxxx-0xxx-4xxx-a248-ce26cff7xxxx", "input_json": null, "status": "Succeeded", "progress": { "Gap": "0.0000%" }, "output_json": { "outputs": [ { "data": { "bucket": "oroas-bi-data", "object": "oroas-optvsolver/output/244fxxxx-0xxx-4xxx-a248-ce26cff7xxxx/result.sol" }, "type": "obs" }, { "data": { "bucket": "oroas-bi-data", "object": "oroas-optvsolver/output/244fxxxx-0xxx-4xxx-a248-ce26cff7xxxx/progress.info" }, "type": "obs" } ], "solve_results": { "gap": "0.0000%", "node": "7", "time": "2.93", "status": "Optimal solution found", "best_bound": "1.881820000000e+05", "lp_iteration": "16147", "best_solution": "1.881820000000e+05" } }, "start_time": "2024-10-28T08:28:14.894Z", "end_time": "2024-10-28T08:28:30.042Z", "create_time": "2024-10-28T08:28:11.578Z"} 当接口调用出错时,会返回错误码及错误信息说明,错误响应的Body体格式如下所示。 { "error_code": "optverse.00000006", "error_msg": "Input data validate error: xxxxxxxxxxxxxxxxxxxxxxx\n"} 其中,error_code表示错误码,error_msg表示错误描述信息。
-
Token认证 Token的有效期为24小时,需要使用一个Token鉴权时,可以先缓存起来,避免频繁调用。 Token在计算机系统中代表令牌(临时)的意思,拥有Token就代表拥有某种权限。Token认证就是在调用API的时候将Token加到请求消息头,从而通过身份认证,获得操作API的权限。 Token可通过调用获取用户Token接口获取,调用本服务API需要project级别的Token,即调用获取用户Token接口时,请求body中auth.scope的取值需要选择project,如下所示。 { "auth": { "identity": { "methods": [ "password" ], "password": { "user": { "name": "username", "password": "********", "domain": { "name": "domainname" } } } }, "scope": { "project": { "name": "xxxxxxxx" } } } } 获取Token 后,再调用其他接口时,您需要在请求消息头中添加“X-Auth-Token”。例如Token值为“ABCDEFJ....”,则调用接口时将“X-Auth-Token: ABCDEFJ....”加到请求消息头即可,如下所示。 POST https//optverse.cn-north-4.myhuawei.com/v2/optverse/{service_type}/tasksContent-Type: application/json X-Auth-Token: ABCDEFJ....
-
请求示例 DELETE /v2/{project_id}/optverse/{service_type}/tasks/{task_id}curl --location -g --request DELETE 'https://optverse.cn-north-4.myhuaweicloud.com/v2/{project_id}/optverse/{service_type}/tasks/{task_id}' \--header 'Content-Type: application/json' \--header 'X-Auth-Token; xxxxxxxxx'
-
终端节点 终端节点即调用API的请求地址,不同服务不同区域的终端节点不同,您可以从地区和终端节点中查询所有服务的终端节点。 运筹优化算法服务的终端节点如表1所示,请您根据业务需要选择对应区域的终端节点。 表1 运筹优化算法服务的终端节点 区 域名 称 区域 终端节点(Endpoint) 部署服务 华北-北京四 cn-north-4 optverse.cn-north-4.myhuaweicloud.com 二维切割,求解器 父主题: 使用前必读
-
LP格式的关键字 LP格式中的关键字不区分大小写 关键词(指示词) 可选项 含义 `minimize` `min、minimum` 最小化问题 `maximize` `max、maxmum` 最大化问题 `subject to` `s.t.、such that、st` 约束满足 `bounds` `bound` 表达式的界 `generals` `gen、general` 整数变量 `binaries` `bin、binary` 0-1变量 `inf` `infinity` 无穷 `free` 自由变量 `end` 结束 问题最小(大)化关键词实际上是格式的第一行有效字段有时该行也可以省略,如果省略则默认为最小化问题;End关键词是问题描述的结束,End之后即便还存在字段也不会被解析。
-
OBJECTIVE FUNCTION节 目标函数可采用 `maximize`或 `minimize`关键词开始,关键词后不能再出现其它字符,形式为: minimize-x1 + x2 + -x3 + 0.5 x1 + 100 + x4 + 20 如上形式可以看出: `minmize` 单独一行。 变量可以直接与负号(`-`)连接,如 ` x1,x3`。 变量可以多次出现,我们采用聚合多次系数,本例中为 `x1`的系数终于为 `0.5(-1+0.5)`。 偏移量可以出现在表达式中间或结尾,如 100 和 20。 在实际使用中目标函数可以提供一个名字,并且可以多行书写,但需注意一些细节,如 minimizeobj:-x1 + x2 + -x3 + 0.5 x1 100 + x4 + x5 + 1.5 + 2.0 x6
-
GENERALS和BINARIES节(可选) LP 文件的 generals 和 binaries 节用于指示在可行解中必须具有整数值的变量。这两节由于形式相似,我们将其放在同一个部分介绍,实际上他们是否同时存在互不影响。注册在这两节的变量将具有的默认边界的定义。对于在generals 部分注册的变量,默认范围是 0 和$10^{20}$。对于在 binaries 部分注册的变量,默认边界是 0 和 1。 变量注册的方式是通过将变量罗列到对应节,如 Generalsx4 x5 x6 x7x8 x9Binariesx1 x2 x3 x4 可见,不同变量之间通过空格分割,允许多行书写, 同时我们允许变量注册到不同节,如变量 `x4`,最终的变量类型为其可行区间最小的类型。 注:现阶段我们求解器仅支持线性问题,对于非线性字段和半连续、半整型暂不支持。
-
错误码说明 当您调用API时,如果遇到“APIGW”开头的错误码,请参见API网关错误码进行处理。 表2 错误码 错误码 参数类型 错误信息 JOB_MANAGER.12010001 基础错误 创建应用失败: {0} JOB_MANAGER.12010002 基础错误 校验Token失败 JOB_MANAGER.12010003 基础错误 应用{0}不存在 JOB_MANAGER.12010004 基础错误 获取app详情失败: {0} JOB_MANAGER.12010005 基础错误 已授权App: {0} JOB_MANAGER.12010006 基础错误 删除App失败: {0} JOB_MANAGER.12010007 基础错误 App数量超过限制: [{0}] JOB_MANAGER.12010008 基础错误 App已经存在, name: [{0}] JOB_MANAGER.12010009 基础错误 当App下还存在Pending状态任务时,并发数不能设置为0, 算法授权不能被取消 JOB_MANAGER.12010010 基础错误 应用{0}认证失败 JOB_MANAGER.12020001 基础错误 任务{0}不存在 JOB_MANAGER.12020002 基础错误 任务{0}已经结束 JOB_MANAGER.12020003 基础错误 任务类型{0}不存在 JOB_MANAGER.12020004 基础错误 服务类型{0}未授权 JOB_MANAGER.12020005 基础错误 App[{0}]的服务[{1}]并发数超出限额[{2}] JOB_MANAGER.12020006 基础错误 App[{0}]的服务[{1}]并发数为0,不能创建任务 JOB_MANAGER.12020007 基础错误 服务[{0}]总并发数超出限额[{1}] JOB_MANAGER.12020008 基础错误 资源不足 JOB_MANAGER.12020009 基础错误 任务输入校验失败,{0} JOB_MANAGER.12020010 基础错误 鉴权失败: {0} JOB_MANAGER.12020011 基础错误 任务[{0}]正在被占用,请稍后再试 JOB_MANAGER.12050001 基础错误 用户{0}没有访问权 JOB_MANAGER.12050002 基础错误 用户{0}不能给其他用户添加访问权限 JOB_MANAGER.12050003 基础错误 存在重复的项目ID: {0} JOB_MANAGER.12050004 基础错误 用户{0}不能查询用户访问列表 JOB_MANAGER.12050005 基础错误 用户{0}未委托 JOB_MANAGER.12050006 基础错误 用户{0}委托的角色不正确 JOB_MANAGER.12050007 基础错误 用户{0}的没有{1}角色权限 JOB_MANAGER.12050008 基础错误 CBC回调接口鉴权失败 JOB_MANAGER.12050009 基础错误 用户{0}不是 IAM 主账号 JOB_MANAGER.12060001 基础错误 OBS桶:{0}不存在, 用户:{1} JOB_MANAGER.12060002 基础错误 OBS对象:{0}不存在, 桶: {1}, 用户:{2} JOB_MANAGER.12060003 基础错误 OBS访问失败, 桶: {0}, 对象: {1}, projectId: {2} JOB_MANAGER.12060004 基础错误 创建obs客户端失败, 用户: {0} JOB_MANAGER.12060005 基础错误 obs上传文件失败, 桶:{0},对象:{1},文件路径: {2} JOB_MANAGER.12060006 基础错误 obs创建文件夹失败, 文件夹: {0} JOB_MANAGER.12060007 基础错误 obs下载对象失败,桶: {0}, 对象: {1}, 用户: {2} JOB_MANAGER.12080001 基础错误 文件 {0} 压缩发生异常 JOB_MANAGER.12080002 基础错误 文件 {0} 解压发生异常 JOB_MANAGER.12080003 基础错误 压缩文件 {0} 中存在目录结构,请提供单一模型文件压缩得到的.tar.gz文件 JOB_MANAGER.12080004 基础错误 文件路径仅支持大小写字母、数字、中划线(-)、下划线(_)、英文句号(.)、斜杠(/). 不符合路径{0},{1} JOB_MANAGER.12090001 基础错误 该租户 {0} 禁止访问本服务
-
请求示例 POST https://{endpoint}/v2/{project_id}/optverse/regular-plate/tasksRequest Header:Content-Type: application/json;charset=utf-8Auth-Token:Body:{ "items": [ { "item_id": 0, "item_material": "18MM_PLATE", "item_length": 60.0, "item_width": 553.0, "item_turn": true, "item_num": 1, "item_name": "底板", "item_thick": 18, "is_substitute": false, "label_info": { "order_code": "订单号", "plan_code": "批次号", "item_code": "小板标识" } }, { "item_id": 0, "item_material": "18MM_PLATE", "item_length": 60.0, "item_width": 553.0, "item_turn": true, "item_num": 1, "item_name": "底板", "item_thick": 18, "is_substitute": true, "label_info": { "order_code": "订单号", "plan_code": "批次号", "item_code": "小板标识" } } ], "parameters": [ { "calculate_time": 30, "first_cut_direction": 2, "item_backward_trim": 0.0, "item_forward_trim": 0.0, "kerf_horizontal": 4.4, "kerf_vertical": 4.4, "max_stack_height": 80, "plate_trim_horizontal": 10.0, "plate_trim_vertical": 10.0, "time_cost": 200, "max_cut_stage_num": 3, "min_stack_utilization": 0.8, "item_sort_location": false, "item_num_limit": 0 } ], "plates": [ { "plate_grain": true, "plate_id": 0, "plate_length": 2440.0, "plate_material": "18MM_PLATE", "plate_num": 9999, "plate_thick": 18.0, "plate_width": 1220.0, "plate_cost": 100 } ]}
-
响应示例 成功响应示例 { "task_id": "40axxxx-701a-47cf-8b56-648xxxxxxd25"} 参数说明如表4所示。 表4 响应参数 参数 参数类型 说明 task_id String 任务ID 失败响应示例 { "error_code": "optverse.00000006", "error_msg": "Input data validate error: the item material is 18MM_PLATE, item_id is 0: Length and width are larger than plate.\n"}
-
响应参数 表6 响应参数说明 参数 参数类型 说明 error_detail String 如果运行出错会提示 result Object 如果运行正常会在该属性内给出结果 status String 任务运行状态,详情请参见表7 task_id String 任务id result_list Array of objects 切割方案列表 plan_info Array of objects 切割方案的统计信息列表 cut_file String 以字符串形式保存的切割方案文件 plan_name String 此方案序号(根据参数设置可给出多组方案) material_info String 统计信息,详情请参见表8 material_name String 材料名称 problem_id Int 按材料划分的问题序列号 表7 任务状态说明 状态 说明 waiting 在任务队列中,等待执行, 当等待时间超过一定时间,会超时,转为abnormal状态 running 任务正在执行 finished 任务成功运行结束,通过`result`获取结果 failed 任务执行出错,通过`error_detail`获取错误信息 abnormal 任务异常,可能是排队超时,可能是重试次数超时,可能是计算时间超时,通过`error_detail`获取错误信息 表8 统计信息响应参数说明 参数 单位 参数类型 说明 cut_length 米(m) float 切割长度 cut_sum - Int 切割刀数 cut_time 分钟(min) float 锯切时间 item_num - Int 开料件数 material - String 材料 program_num - Int 锯切图数量 run_program_num - Int 运行的锯切图数 rate 百分比(%) float 原材料利用率 sum_area 平方米(m2) float 原材料使用面积 sum_cost - Float 锯切成本 sum_plate_num - Int 原材料使用数量 sum_used_area 平方米(m2) float 原材料利用面积
-
状态码 状态码如下所示。 状态码 编码 状态说明 100 Continue 继续请求。 这个临时响应用来通知客户端,它的部分请求已经被服务器接收,且仍未被拒绝。 101 Switching Protocols 切换协议。只能切换到更高级的协议。 例如,切换到HTTPS的新版本协议。 200 OK 服务器已成功处理了请求。 201 Created 创建类的请求完全成功。 202 Accepted 已经接受请求,但未处理完成。 203 Non-Authoritative Information 非授权信息,请求成功。 204 No Content 请求完全成功,同时HTTP响应不包含响应体。 在响应OPTIONS方法的HTTP请求时返回此状态码。 205 Reset Content 重置内容,服务器处理成功。 206 Partial Content 服务器成功处理了部分GET请求。 300 Multiple Choices 多种选择。请求的资源可包括多个位置,相应可返回一个资源特征与地址的列表用于用户终端(例如:浏览器)选择。 301 Moved Permanently 永久移动,请求的资源已被永久的移动到新的URI,返回信息会包括新的URI。 302 Found 资源被临时移动。 303 See Other 查看其它地址,使用GET和POST请求查看。 304 Not Modified 所请求的资源未修改,服务器返回此状态码时,不会返回任何资源。 305 Use Proxy 所请求的资源必须通过代理访问。 306 Unused 已经被废弃的HTTP状态码。 400 Bad Request 非法请求。 建议直接修改该请求,不要重试该请求。 401 Unauthorized 在客户端提供认证信息后,返回该状态码,表明服务端指出客户端所提供的认证信息不正确或非法。 402 Payment Required 保留请求。 403 Forbidden 请求被拒绝访问。 返回该状态码,表明请求能够到达服务端,且服务端能够理解用户请求,但是拒绝做更多的事情,因为该请求被设置为拒绝访问,建议直接修改该请求,不要重试该请求。 404 Not Found 所请求的资源不存在。 建议直接修改该请求,不要重试该请求。 405 Method Not Allowed 请求中带有该资源不支持的方法。 建议直接修改该请求,不要重试该请求。 406 Not Acceptable 服务器无法根据客户端请求的内容特性完成请求。 407 Proxy Authentication Required 请求要求代理的身份认证,与401类似,但请求者应当使用代理进行授权。 408 Request Timeout 服务器等候请求时发生超时。 客户端可以随时再次提交该请求而无需进行任何更改。 409 Conflict 服务器在完成请求时发生冲突。 返回该状态码,表明客户端尝试创建的资源已经存在,或者由于冲突请求的更新操作不能被完成。 410 Gone 客户端请求的资源已经不存在。 返回该状态码,表明请求的资源已被永久删除。 411 Length Required 服务器无法处理客户端发送的不带Content-Length的请求信息。 412 Precondition Failed 未满足前提条件,服务器未满足请求者在请求中设置的其中一个前提条件。 413 Request Entity Too Large 由于请求的实体过大,服务器无法处理,因此拒绝请求。为防止客户端的连续请求,服务器可能会关闭连接。如果只是服务器暂时无法处理,则会包含一个Retry-After的响应信息。 414 Request URI Too Long 请求的URI过长(URI通常为网址),服务器无法处理。 415 Unsupported Media Type 服I务器无法处理请求附带的媒体格式。 416 Requested Range Not Satisfiable 客户端请求的范围无效。 417 Expectation Failed 服务器无法满足Expect的请求头信息。 422 Unprocessable Entity 请求格式正确,但是由于含有语义错误,无法响应。 429 Too Many Requests 表明请求超出了客户端访问频率的限制或者服务端接收到多于它能处理的请求。建议客户端读取相应的Retry-After首部,然后等待该首部指出的时间后再重试。 500 Internal Server Error 表明服务端能被请求访问到,但是不能理解用户的请求。 501 Not Implemented 服务器不支持请求的功能,无法完成请求。 502 Bad Gateway 充当网关或代理的服务器,从远端服务器接收到了一个无效的请求。 503 Service Unavailable 被请求的服务无效。 建议直接修改该请求,不要重试该请求。 504 Gateway Timeout 请求在给定的时间内无法完成。客户端仅在为请求指定超时(Timeout)参数时会得到该响应。 505 HTTP Version Not Supported 服务器不支持请求的HTTPS协议的版本,无法完成处理。 父主题: 附录
-
请求示例 GET /v2/{project_id}/optverse/{service_type}/tasks/{task_id}curl --location --request GET 'https://optverse.cn-north-4.myhuaweicloud.com/v2/{project_id}/optverse/{service_type}/tasks/{task_id}' \--header 'Content-Type: application/json' \--header 'X-Auth-Token; xxxxxxxxx'
-
概述 天筹求解器服务(OptVerse)是一种基于华为云基础架构和平台的智能决策服务,以自研AI求解器为核心引擎,结合机器学习与深度学习技术,为企业提供生产计划与排程、切割优化、路径优化、库存优化等一系列有竞争力的行业解决方案。 OptVerse以开放API(Application Programming Interface,应用程序编程接口)的方式提供给用户,用户通过实时访问和调用API获取推理结果,帮助用户自动采集关键数据,打造智能化业务系统,提升业务效率。 您可以使用本文档提供的天筹求解器服务API的描述、语法、参数说明及样例等内容,进行相关操作,例如天筹求解器服务包含的二维切割等具体接口使用说明。支持的全部操作请参见2 API概览。 在调用天筹求解器服务API之前,请确保已经充分了解运筹优化算法相关概念,详细信息请参见“产品介绍”。 父主题: 使用前必读
-
响应示例 成功响应示例 { "task_id": "40axxxx-701a-47cf-8b56-648xxxxxxd25"} 参数说明如表12所示。 表12 响应参数 参数 参数类型 说明 task_id String 任务ID 失败响应示例 { "error_code": "JOB_MANAGER.12020007", "error_msg": "The task input valid error, inputJson is null."}
更多精彩内容
CDN加速
GaussDB
文字转换成语音
免费的服务器
如何创建网站
域名网站购买
私有云桌面
云主机哪个好
域名怎么备案
手机云电脑
SSL证书申请
云点播服务器
免费OCR是什么
电脑云桌面
域名备案怎么弄
语音转文字
文字图片识别
云桌面是什么
网址安全检测
网站建设搭建
国外CDN加速
SSL免费证书申请
短信批量发送
图片OCR识别
云数据库MySQL
个人域名购买
录音转文字
扫描图片识别文字
OCR图片识别
行驶证识别
虚拟电话号码
电话呼叫中心软件
怎么制作一个网站
Email注册网站
华为VNC
图像文字识别
企业网站制作
个人网站搭建
华为云计算
免费租用云托管
云桌面云服务器
ocr文字识别免费版
HTTPS证书申请
图片文字识别转换
国外域名注册商
使用免费虚拟主机
云电脑主机多少钱
鲲鹏云手机
短信验证码平台
OCR图片文字识别
SSL证书是什么
申请企业邮箱步骤
免费的企业用邮箱
云免流搭建教程
域名价格