gpt4 book ai didi

java - 创建动态过程模型

转载 作者:行者123 更新时间:2023-12-01 19:50:08 25 4
gpt4 key购买 nike

我目前正在尝试构建一个动态流程模型。模型本身将如下所示: Dynamic process model creation

代理由每个点节点的源 block 创建,然后沿着三个路径移动,直到它们在中心路径上相遇。我想做的示例:每条路径都可以看作一条生产线。成品最终会面,检查并包装。代理到底发生了什么并不重要。运动的可视化很重要。

问题:模型应该是动态的。在模拟开始之前,所需的源、路径和传送带的实际数量是未知的。可能只需要一个源或超过 25 个源。每个源的代理应采用不同的路径。

我考虑过在主类的“启动时:”窗口中创建(几乎)完整的流程模型。我首先尝试“复制”现有的源代码块,但目前失败了。

com.anylogic.libraries.processmodeling.Source<Agent> source2 = new 
com.anylogic.libraries.processmodeling.Source<Agent>( getEngine(), this, null);
source2 = instantiate_source_xjal();
setupParameters_source_xjal( source2 );
create_source_xjal( source2 );

有人可以指出我正确的方向吗?或者是否有更简单的方法来做到这一点?

最佳答案

好吧,使用传送带需要做很多工作,所以我将仅向您展示一个仅包含源代码的示例,然后您可以自己解决其余的问题。

第一步:结构。这是模型的结构: structure

第二步:pointNode 数组。initialPoints 是一个元素类型为 PointNode 的 ArrayList

第三步:源群体。 source population正如您所看到的,到达的位置是:initialPoints.get(index),其中index是源群体中的源。还要提前检查代理是否是一个群体,最初是空的。所以现在你有了大量的资源......一切都很好。

moveTo block 将使代理移动到 endConveyorPoint,这是我在模型中明确定义的唯一 pointNode。

第四步:初始化。在主启动时添加以下代码,您需要定义一个网络并添加源和您需要的所有内容,添加网络的路径和点并将它们也添加到演示文稿中...您将必须更改初始的 X ,Y,Z 坐标(如果需要):

Network n = new Network( this, "nety", SHAPE_DRAW_2D3D, 0, true, true );
n.add(endConveyorPoint);
for(int i=0;i<5;i++){
Source s = add_source();
PointNode pn=new PointNode(this, SHAPE_DRAW_2D3D, true, 100.0,300.0+i*50, 0.0, 1.0, dodgerBlue );
MarkupSegmentLine ms1 = new MarkupSegmentLine( 100.0, 300.0+i*50, 0.0, 350.0, 300.0+i*50, 0.0 );
MarkupSegmentLine ms2 = new MarkupSegmentLine( 350.0, 300.0+i*50, 0.0, endConveyorPoint.getX(),endConveyorPoint.getY(), 0.0 );
Path path = new Path( this, SHAPE_DRAW_2D3D, true, true,
PATH_DASHEDLINE, dodgerBlue, 2.0, pn, endConveyorPoint, ms1, ms2 );
presentation.add(pn);
presentation.add(path);
s.set_locationType(s.LOCATION_NODE);
s.setLocation(pn);

initialPoints.add(pn);
n.add(pn);
n.add(path);
}
n.initialize();

关于java - 创建动态过程模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51602516/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com