Jump是否支持在模型中直接使用数学逻辑?
我知道它支持条件指示符,但是这些条件指示符怎么样?
例如:
1-一个双条件指标
是一个二进制变量,它与当前解决方案的约束的满意度和非满意度状态相关联。
δi=1⟺ 总和(j,aij.xj)
2-
或约束
确保至少满足两个约束中的一个。
3-
If-Then-Else约束
描述了一种情况,我们希望确保如果约束C1
成立,那么约束C2
必须成立;否则,必须保持约束C3
(1)约束
δ(i)=1 ⇔ sum(j, a(i,j)) ≤ b(i)
可以表述为两个指标约束:
δ(i)=1 ⇒ sum(j, a(i,j)) ≤ b(i)
δ(i)=0 ⇒ sum(j, a(i,j)) ≥ b(i) + 0.0001
δ(i) ∈ {0,1}
我通常去掉0.001,让问题在等式处稍微模糊。这样,解算器可以选择最好的。如果总和较长,请使用中间变量以防止重复总和。
(2)非此即彼的约束。同样的想法:
δ=1 ⇒ linear constraint 1
δ=0 ⇒ linear constraint 2
δ ∈ {0,1}
约束1或2中的一个将被强制执行
(3) 如果有其他限制。即。
If constraint 1 then constraint 2 else constraint 3
同样类似于我们上面的内容:
δ=1 ⇒ linear constraint 1
δ=1 ⇒ linear constraint 2
δ=0 ⇒ not linear constraint 1
δ=0 ⇒ linear constraint 3
更复杂的情况可能如下所示:
δ=1 ⇒ y=b
δ=0 ⇒ y≠b
第二个含义需要使用一个额外的二进制变量拆分为两个。我把它留作一个尺码。
Julia支持在模型中直接使用数学逻辑吗?
我猜你的意思是跳这里。(JuMP是一个用Julia编写的数学优化软件包。)
跳转没有这三个约束的直接语法。
然而,它们都可以通过一些技巧来表达。
跳转文档还有一些提示。
第(2)点是https://jump.dev/JuMP.jl/stable/tutorials/Mixed-integer线性规划/技巧和技巧/#大M-析取约束-(或)
null
在中,函数在结构上允许您取两个向量和的外积,同时为应用于每个组合的实际函数提供了许多选项。例如,创建和之间元素差异的“外部积”矩阵。朱莉娅也有类似的吗?
null 我的两个问题仍然存在。
许多博客和手册本身都说朱莉娅是动态键入的。但是从我对手册的阅读来看,我觉得它更像是静态键入的类型推断,就像F#。 Julia是静态类型化的吗 它是动态类型的吗 我假设它是动态输入的,看来手册不太可能是错的 朱莉娅是否涉及类型推断
我确信julia已经启用,并且linter也启用了(在vs代码设置中:julia>lint:Run),我在xxx.jl脚本上得到了语法高亮显示,但根本没有linter。 我在最新的vs代码+最新的Julia1.07扩展+最新的MacOSX上。我对vs代码进行了干净的安装,在安装之前清除了所有旧的相关文件夹(https://stackoverflow.com/a/53839847/11608725)
时间:4.16 上午11:15 面试时长:8-9分钟(时间太短了,没咋深问就结束了,俺也知道是凉了) 提问问题: 1,自我介绍 2,以前的经历偏内容运营,为什么现在想投私域运营这个岗位(以前做的小红书运营,现在投的私域运营) 3,你对私域运营的了解是什么 4,之前有做过相关的活动运营宣传吗?(这里俺只讲了策划案里面的框架和节日营销,没提到点上比如线上线下宣传等) 5,如果用三个词来概括一下你自己,