Mindopt上新数据脱敏功能,方便外发数据

简介: V0.24.0版本的MindOpt优化求解器新增了数据脱敏功能,可以对输入模型文件进行数据脱敏。将优化问题中问题名、决策变量、约束条件名称这些和业务场景相关的数据进行脱敏变更,使得优化问题的数据仅保留看不出用途的数值信息,隐藏业务信息。方便外发数据去做技术可行性验证、方案咨询、测试等。

功能介绍

V0.24.0版本的MindOpt优化求解器新增了数据脱敏功能,可以对输入模型文件进行数据脱敏。将优化问题中问题名、决策变量、约束条件名称这些和业务场景相关的数据进行脱敏变更,使得优化问题的数据仅保留看不出用途的数值信息,隐藏业务信息。方便外发数据去做技术可行性验证、方案咨询、测试等。

数据脱敏可以称为数据的去隐私化,是对敏感数据进行修改或者转换的一种技术机制,在很大程度上能解决敏感数据直接在非可靠环境下使用的问题。比如在电商行业快递单上,会使用**号部分遮挡买家的个人信息,也能有效将数据脱敏,提供给外部使用。


优化建模文件中的主要敏感数据是业务的逻辑,比如优化问题名字、决策变量和约束条件名。业界的脱敏方案大致有这几种:无效化、随机值、数据替换、对称加密、平均值、偏移和取整。MindOpt求解器使用的是“数据替换”这一方案,顾名思义,数据替换就是设置一个虚拟值去替换真值。


如下表示意,脱敏前后的文件内容片段对比,脱敏前名称字符里面包含了业务逻辑,脱敏后信息都用固定的顺序数字来表示,删除业务逻辑,实现脱敏。

脱敏前

脱敏后

NAME AFIRO

ROWS

E ToTalR

E StaffR10

L WorkX05

L WorkX21

E WorkR12

E SkillR13

L SkillX17

L SkillX18

L SkillX19

L GenderX20

E GenderR19

E GenderR20

COLUMNS

CostX01 WorkX05 .301 R09 -1.

CostX02 SkillR13 -1.06 X05 1.

CostX03 SkillX18 -1. R09 1.

CostX04 GenderR20 -.4

NAME Prob0001 FREE

OBJSENSE

MIN

ROWS

N OBJROW

E R00000001

E R00000002

L R00000003

L R00000004

E R00000005

E R00000006

L R00000007

L R00000008

L R00000009

L R0000000A

E R0000000B

E R0000000C

COLUMNS

C000001 R00000003 0.301

C000002 R00000006 -1.06

C000003 R00000008 -1

C000004 R0000000C -0.4

使用方法

执行脱敏

MinOpt新增的脱敏功能是在命令行里面。  主要通过以下两个命令行参数调用:

  • sanitize :对模型文件中的敏感数据进行重命名脱敏。
  • undo_sanitize :对已脱敏后的模型文件进行反脱敏(恢复数据)。

在命令行 Terminal 或者 Notebook的Cell magic运行(增加感叹号!),可以看到接口说明。

用户可以根据文档指引下载本地运行版的安装包,安装到自己本机来运行数据脱敏。下载地址:https://help.aliyun.com/document_detail/298275.html

image.png


脱敏功能支持 .mps/.lp 以及对应的压缩文件(.bz2/.gz)的文件格式,我们可以用安装包examples中的模型文件afiro.mps作为例子,如下方式运行来实现脱敏。

mindopt <path/to/data>/afiro.mps --sanitize
#<path/to/data>为文件路径

比如云平台的Notebook中可以这样运行

!mindopt /home/jupyter/mindopt/0.24.0/examples/data/afiro.mps MaxTime=10800 SPX/MaxIterations=1000000000 --sanitize 


运行完成后,会输出结果的说明:

Reader started. File    : /home/jupyter/mindopt/0.24.0/examples/data/afiro.mps
Reader terminated. Time : 0.001s
ProbName sanitized.
Sanitized variables count   : 32
Sanitized constraints count : 27
File desensitized              : /home/jupyter/mindopt/0.24.0/examples/data/afiro_sanitized.mps
File Mapping                   : /home/jupyter/mindopt/0.24.0/examples/data/afiro_mapping.json

第1行:展示了读的是哪个文件

第6-7行:总结了模型有多少个变量,多少个约束。

第8-9行:脱敏完成,输出文件映射的地址,并在脱敏前文件的同级目录下生成脱敏后模型文件 afiro_sanitized.mps 和映射文件 afiro_mapping.json。

检查是否脱敏后数据

我们打开脱敏的优化问题文件 afiro_sanitized.mps,可以里面名称中的敏感信息是否已经被替换掉。命名规以R/C开头,十六进制整数递增就代表脱敏成功了,再检查没有其他问题就可以外发去测试了。

脱敏后的数据保留的数值还是原来的对应关系,不影响求解结果,比如我们用MindOpt运行脱敏后的文件:

mindopt afiro_sanitized.mps

运行后得到结果如下,与脱敏前运行结果一致。

image.png

反脱敏

脱敏时,生成的映射文件 afiro_mapping.json是用来后面恢复数据用的。此功能没有实际用途,主要是方便验证,请外发的时候不要发此映射文件。

这里我们打开映射文件 afiro_mapping.json查看一下映射关系,文件格式如下所示。如果脱敏前文件不包含模型名或模型名为空时,映射文件不展示 ProbName

image.png

这里我们可以把数据存在同一个目录,然后执行反脱敏命令:

!mindopt ./data/afiro_mapping.json --undo_sanitize

会得到如下输出示意:

./data/afiro_sanitized.mps
Reader started. File    : ./data/afiro_sanitized.mps
Reader terminated. Time : 0.000s
ProbName undo sensitized.
Undo sanitized variables count     : 32
Undo sanitized constraints count   : 27
File undo sanitized                : ./data/afiro_sanitized_sanitized.mps

运行后还原脱敏模型文件,生成afiro_sanitized_sanitized.mps文件。

运行afiro_sanitized_sanitized.mps文件结果与上文一致。

image.png


相关文章
|
4月前
|
人工智能 算法 调度
优化问题之如何选择合适的优化求解器
优化问题之如何选择合适的优化求解器
|
6月前
|
达摩院 Linux Docker
MindOpt APL 最新版本功能介绍,并且开放下载使用了!
MindOpt APL (MAPL) 是由阿里巴巴达摩院研发的国产建模语言,专长于电力SCUC等问题,提供向量化建模支持,可与Mindopt Studio平台集成。最新版2.4增加了向量化建模、Linux环境下通过pip安装支持以及改进了打印显示和错误提示。MAPL的向量化建模提高了效率,适合大规模问题。用户可通过云平台Docker打包或pip安装使用,支持多种求解器,包括MindOpt和开源求解器。
|
6月前
|
人工智能 算法 决策智能
MindOpt云上建模求解平台功能的简单介绍
MindOpt云上建模求解平台是阿里巴巴达摩院研发的一款“优化领域”的云平台。它结合了最新的算法研究和云技术,为用户提供了一个易于使用的界面和强大的后台计算能力。该平台支持广泛的优化问题,包括线性规划、整数规划、非线性规划和混合整数规划等。
|
6月前
|
达摩院 开发者 容器
「达摩院MindOpt」优化形状切割问题(MILP)
在制造业,高效地利用材料不仅是节约成本的重要环节,也是可持续发展的关键因素。无论是在金属加工、家具制造还是纺织品生产中,原材料的有效利用都直接影响了整体效率和环境影响。
「达摩院MindOpt」优化形状切割问题(MILP)
|
6月前
|
人工智能 自然语言处理 达摩院
MindOpt 云上建模求解平台:多求解器协同优化
数学规划是一种数学优化方法,主要是寻找变量的取值在特定的约束情况下,使我们的决策目标得到一个最大或者最小值的决策。
|
24天前
|
机器学习/深度学习 算法 数据可视化
如果你的PyTorch优化器效果欠佳,试试这4种深度学习中的高级优化技术吧
在深度学习领域,优化器的选择对模型性能至关重要。尽管PyTorch中的标准优化器如SGD、Adam和AdamW被广泛应用,但在某些复杂优化问题中,这些方法未必是最优选择。本文介绍了四种高级优化技术:序列最小二乘规划(SLSQP)、粒子群优化(PSO)、协方差矩阵自适应进化策略(CMA-ES)和模拟退火(SA)。这些方法具备无梯度优化、仅需前向传播及全局优化能力等优点,尤其适合非可微操作和参数数量较少的情况。通过实验对比发现,对于特定问题,非传统优化方法可能比标准梯度下降算法表现更好。文章详细描述了这些优化技术的实现过程及结果分析,并提出了未来的研究方向。
22 1
|
4月前
|
调度 决策智能
优化问题之优化求解器有哪些主要的评估特性
优化问题之优化求解器有哪些主要的评估特性
|
达摩院 调度
使用达摩院MindOpt优化交通调度_最大化通行量—线性规划问题
在数学规划中,网络流问题是指一类基于网络模型的流量分配问题。网络流问题的目标是在网络中分配资源,使得网络的流量满足一定的限制条件,并且使得某些目标函数最小或最大化。网络流问题通常涉及一个有向图,图中每个节点表示一个资源,每条边表示资源之间的关系。边上有一个容量值,表示该边上最多可以流动的资源数量。流量从源节点开始流出,经过一系列中间节点,最终到达汇节点。在这个过程中,需要遵守一定的流量守恒和容量限制条件。
|
6月前
|
存储 达摩院 调度
「达摩院MindOpt」优化FlowShop流水线作业排班问题
在企业在面临大量多样化的生产任务时,如何合理地安排流水线作业以提高生产效率及确保交货期成为了一个重要的问题。
「达摩院MindOpt」优化FlowShop流水线作业排班问题
MindOpt V1.0优化种植计划问题,新的建模方法
种植计划是指农业生产中针对不同农作物的种植时间、面积和种植方式等方面的规划安排。根据具体情况进行合理的规划和安排,以实现农作物的高产、优质和可持续发展。
MindOpt V1.0优化种植计划问题,新的建模方法