【问题标题】:How can I run a Simio model from a C# application using the API如何使用 API 从 C# 应用程序运行 Simio 模型
【发布时间】:2014-11-05 15:26:20
【问题描述】:

我想从 C# 应用程序运行 Simio 模型。我不想打开 Simio 并从那里运行模型。这可能吗?

【问题讨论】:

    标签: c# api simulation


    【解决方案1】:

    您可以使用以下代码运行实验:

    // Open project
    string[] warnings;
    ISimioProject project = SimioProjectFactory.LoadProject(getFile.FileName, out warnings);    
    IModel model = project.Models[1];
    

    然后您可以访问模型的实验。您可以添加新实验,或运行现有实验:

    IExperiment experiment = model.Experiments.Create("MyExperiment");
    
    // Setup the experiment (optional)
    // Specify run times.
    IRunSetup setup = experiment.RunSetup;
    setup.StartingTime = new DateTime(2010, 10, 01);
    setup.WarmupPeriod = TimeSpan.FromHours(0);
    setup.EndingTime = experiment.RunSetup.StartingTime + TimeSpan.FromDays(runtime);
    experiment.ConfidenceLevel = ExperimentConfidenceLevelType.Point90;
    experiment.LowerPercentile = 5;
    experiment.UpperPercentile = 95;
    
    // Add event handler for events from experiment
    experiment.ScenarioEnded += new EventHandler<ScenarioEndedEventArgs>(experiment_ScenarioEnded);
    experiment.RunCompleted += new EventHandler<RunCompletedEventArgs>(experiment_RunCompleted);
    experiment.RunProgressChanged += new EventHandler<RunProgressChangedEventArgs>(experiment_RunProgressChanged);
    experiment.ReplicationEnded += new EventHandler<ReplicationEndedEventArgs>(experiment_ReplicationEnded);
    
    // Run Experiment, will call event handler methods when finished etc.
    experiment.RunAsync();
    

    希望这可以帮助您入门。如有更多问题,请随时提出。

    尼古拉斯

    【讨论】:

      【解决方案2】:

      是的,这是可能的。看看 SimioProjectFactory 类。从那里您可以加载现有的 .spfx 文件并运行附加的实验。还可以查看结果等等。

      以下是如何加载项目并获取其中的第一个模型。从那里开始,一切都与编写加载项类似:

      string[] warnings;
      ISimioProject project = SimioProjectFactory.LoadProject("Test.spfx", out warnings);    
      IModel model= project.Models[1];
      ...
      

      玩得开心! 尼古拉斯

      【讨论】:

      • 这些函数的上下文是什么?我将如何实际运行实验?我在 API 中找不到任何引用 SimioProjectFactory 的内容。是否有可能看到一个运行示例 simio 模型之一的简单脚本,就像您打开程序并点击运行一样?非常感谢!
      • SimioProjectFactory 位于 SimioAPI 命名空间中,并包含在 SimioDLL 中。您可以在 Simio API 论坛上找到更多信息,例如:simio.com/forums/…
      猜你喜欢
      • 2012-02-10
      • 2016-07-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-12-02
      • 1970-01-01
      • 2012-12-22
      • 2017-02-17
      相关资源
      最近更新 更多