小编Héc*_*cés的帖子

在 Julia 中使用多线程创建 JuMP 模型

我有一个非常难以构建的优化模型。这个模型有很多 if-else 条件和很多循环。所以我在考虑使用多线程来构建这个单一的 JuMP 模型对象。

一个循环代码的非常简化的版本如下所示:

Threads.@threads for g in sets["A"]

    Array_1 = [gg for gg in [sets["B"];sets["A"]] if data2[gg] == g]
    Array_2 = [gg for gg in sets["B"] if data[gg] == g]

    for t in STAGES
        Array_3 = [gg for gg in [sets["B"];sets["A"]] if data2[gg] == g && (gg, t) in sets["C"] ]
        for b in BLOCKS
            name = @constraint( model, ((g, t, b) in sets["C"] ? X1[(g,t,b)] : 0)
            - sum(X1[(gg,t,b)] for gg in Array_3 )
            + X2[(g,t,b)] …
Run Code Online (Sandbox Code Playgroud)

optimization multithreading julia julia-jump

5
推荐指数
1
解决办法
499
查看次数

标签 统计

julia ×1

julia-jump ×1

multithreading ×1

optimization ×1