01、流程变量的分组

项目地址:https://gitee.com/lwj/flowable.git 分支flowable-base
视频地址:https://www.bilibili.com/video/av79774697/

  • 业务场景:
    实际场景中,有可能我们的流程变量会比较多,如果一个变量就作为一条记录存储的话,就会使得数据看上去杂乱无章,今天我们讲一个如果把这些变量分组来存储

1、代码:

@Autowired
    private ObjectMapper objectMapper;

    public void createObjectNode(Map<String, Object> params) {
        ObjectNode objectNode = objectMapper.createObjectNode();
        params.forEach((k, v) -> {
            if (v instanceof String) {
                objectNode.put(k, v.toString());
            } else {
                objectNode.putPOJO(k, v);
            }
        });
        Map<String, Object> variables = new HashMap<>();
        variables.put("form",objectNode);
        //使用${form.payment}  ${form.sex}  ${form.userCode}
    }

2、使用:
在这里插入图片描述

3、存放数据的数据是按照json字符串的形式存放

在这里插入图片描述
这样子就能提高数据可读性,同时也能提高系统性能

### 决策变量分组的方法及其应用场景 在优化和编程领域,决策变量分组是一种有效策略,用于简化复杂模型并提升求解效率。通过合理划分变量集合,能够显著改善大型问题的可处理性和收敛速度。 #### 方法概述 一种常见的做法是基于物理意义或者逻辑关联来进行分类[^1]。例如,在生产调度场景下,可以根据工序流程将不同阶段的任务指派给特定工作组;而在物流配送网络里,则依据地理区域分配车辆资源。这种思路不仅有助于直观理解整个系统的运作机制,而且便于实施局部调整措施而不影响全局结构稳定性。 对于数学表达形式而言,当构建整数规划模型时会特别关注到离散性质较强的要素[^2]: ```csharp // 定义整型非负变量x,y Variable x = solver.MakeIntVar(0.0, double.PositiveInfinity, "x"); Variable y = solver.MakeIntVar(0.0, double.PositiveInfinity, "y"); ``` 上述代码片段展示了如何创建两个仅限取正值且为整数值范围内的未知量实例。这一步骤实际上就是针对具体业务需求完成了一次初步的数据抽象过程——即将现实世界里的对象映射到了计算机程序内部表示法上去了。 另外值得注意的是,在多目标函数最小化过程中(即存在多个相互竞争的目标),也可以按照各个子目标的重要性程度或是实现难易度等因素来进行合理的群集操作[^3]: \[ F(x)=\[f_{1}(x), f_{2}(x), \ldots , f_{n}(x)\] s.t.\quad g_{i}(x)≤0,\; i=1,…,m\\h_{j}(x)=0,\; j=1,…,p \] 其中\(F(x)\)代表多元化的评价指标体系,而约束条件则确保了解空间的有效边界不会被超越。 #### 应用案例分析 - **供应链管理**:通过对供应商、制造商以及零售商之间的交互关系建模,并据此设定相应的输入/输出参数作为独立模块看待; - **能源系统配置**:考虑发电厂选址布局与输电线路架设路径的选择等问题时,往往涉及到地理位置上的远近差异,因此有必要区分对待这些因素以便更好地平衡成本效益比; - **金融投资组合优化**:资产类别繁杂多样,包括股票债券等多种证券品种,按照行业板块特性加以整理归类后更有利于风险控制及收益预测工作开展。 综上所述,无论是理论研究还是实际工程项目当中,恰当运用好这一技术手段均能带来事半功倍的效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小学生05101

flowable

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值