首页 > 其他分享 >COMP4038 数据结构

COMP4038 数据结构

时间:2023-05-07 13:33:30浏览次数:28  
标签:anylogic COMP4038 some AnyLogic https model 数据结构 your


COMP4038 Coursework 2 Tips v2023-05-02
A good conceptual model structure for the report looks like this:
Brief problem statement
Objectives, including performance measures (where appropriate) {in an optimisation
experiment this might be the objective function, and perhaps a more general objective}
Any other constraints {not captured in the objectives} or requirements
Experimental factors (Inputs) {make sure they are related to your objectives}
Responses (Outputs) {make sure they support you to test if you fulfilled your objectives}
Content (defining model scope and level of detail) {scope captures all potential candidates
that could be considered as part of the system; level of detail only considers the components
that are within the scope and describes how (at what level of abstraction) these components
are going to be 代  做considered} {use screen shots of tables to save words }
Assumptions (facets of limited knowledge or presumptions) {all assumptions should be listed
here, including a brief justification}
Simplifications (facet of the desire to create simple models) {all simplifications should be listed
here, including a brief justification}
Graphical representation and short explanation and justification of design decisions {you
might want to represent the process flow of the overall system and some details like class and
state charts for agents etc., whatever is related to the design of your system}
Data requirements {remember to also mention "data requirements" in your conceptual model
(see Lec03A slide 37)}
For more details, read Stewart Robinson's book or his papers
Implementation
Make sure your implementation matches your conceptualisation; if not (e.g. your model
implementation is a simplified version of your conceptual model), provide a good reason for
it or consider updating your conceptual model (stating that you excluded certain elements or
features, e.g. due to time pressure or complexity).
In the report:
o Please provide a short opening paragraph followed by one (or more) screenshot(s) of
your implementation
2/4
o If your implementation is very complex, you should just provide a summary of the
highlights (the things you are proudest about regarding your implementation).
o If you have written lots of Java code, it would be good if you say a few words about
the Java code you wrote, again focusing on the highlights (and perhaps present the
pseudocode for the most relevant algorithm(s)).
In your simulation model:
o Provide some meaningful graphical representation (diagrams) at least of some of your
outputs
When you implement your model, please use the following diagram for help
Use AnyLogic Help (tutorials; demo models; example models) before asking us
o For defining shift hours, the Schedule element provided in AnyLogic might be very
handy; you can find some help in AnyLogic "AnyLogic Help / Defining Model Logic /
Schedules" and here in particular "Weekly Schedule" to define the schedule and
"Schedule API" to access/change schedule variables.

Experimentation
Creating a base case: As we do not have a real world case, you might find it tricky to create a
base case (representation the current state of the system) for your simulation experiments.
The trick to run some experiments with estimated realistic data and parameter settings
(where realistic means e.g. "time in system" in minutes rather than seconds). Tune data and
parameters until you get a scenario that works (you could use a parameter variation
experiment if you want to do it professionally or just trial and error). When you get a scenario
that "just" works, break it by changing the parameter settings slightly and you will have a base
case of a student service provider that is experiencing some issues. If you only focus on
optimisation and are trying to improve a system that is not experiencing any issues, you could
skip the last step.
Varying arrival rates: Regarding arrival rates, you might want to allow the user to set it up
(this could be overall expected arrival rate per week or so). Future passenger numbers are
very likely to rise (I am sure you could find some evidence for this online). One might want to
test if the system can cope with these rising passenger numbers using current staffing levels.
3/4
Interactive simulation: Adding sliders to your classes to vary parameters during runtime: If
you think there is something a user should have control over in the simulation experiment
during runtime you could add some sliders; it is relatively straightforward. It depends on if you
want to market your model as an exploratory tool or a predictive tool.
Number of decision variables: The PLE edition of AnyLogic only allows 7 decision variables. If
you create more, you get an error message when running the optimisation. There are different
ways of dealing with this.
o Reduce the number of decision variables
o Use an external optimiser (e.g. HeuristicLab); we will have a look at this on Thursday
o If you like a challenge (I did not try this but my colleague Dario mentioned it as one
potential solution at some point) you could encode the solution as a bit string;
different sections of the bit string could represent separate decision variables; this
way, a single integer could represent multiple decision variables; however, a decoder
would need to be implemented to perform the conversion from integer to bit string
o If you like an even bigger challenge, implement your own optimiser in AnyLogic; we
will have a look at this on Thursday
Optimisation experiment running slow: If your optimisation experiments are running
extremely slow, you might want to consider using a rapid prototype version of your model for
running these. It should have relevant functionality for running the optimisation experiments,
but nothing else. You can then submit two models - the full version for getting good marks for
presentation and the simplified version for allowing to re-run the optimisation experiments.
Video
I personally use "Apowersoft Screen Recorder" for producing videos, as it produces videos in
a decent size, but there are many alternatives available on the internet
o https://apowersoft-screen-recorder.en.softonic.com/download
You should record video with sound, showing and explaining features and the running
simulation and optimisation. I showed you an example of such a video in Lecture 01A. Please
note that we will use the video during the marking process, so promote your work (perhaps
with a summary of highlights at the end)
Submission
Please submit the following three files:
1. A written report in pdf format (approx. 2500 words +/- 10%)
2. A zip file including your AnyLogic model(s) and other relevant files to allow us to
reproduce your experimental runs
3. A demonstration video (4 minutes +/- 0.5 minute, maximum size: 100 MB)
Random Collection of Information, Tips and Tricks
Remember the KISS principle and start your implementation with a rapid prototype
Remember that the simulation life cycle has arrows in both directions; in case of the
coursework come up with some draft objectives and fine-tune them later (as we do not have
a client that provided us with the details)
It is always good to find some real-world data online, but it's not always possible; for missing
data try to remember your last trip and use some assumptions based on this. If your
assumptions are reasonable (you could briefly explain how you came up with them),
everything is fine. If you wanted to go the 'extra mile' you find some general data online (e.g.
at https://www.heathrow.com/company/about-heathrow/facts-and-figures) and extrapolate
the relevant data for your case.
In AnyLogic, when doing optimisation, parameters that can vary become decision variables
AnyLogic Help:
4/4
o https://anylogic.help/
AnyLogic Educational Videos:
o https://www.anylogic.com/resources/educational-videos/?video=tutorials
AnyLogic YouTube:
o https://www.youtube.com/channel/UCdH-e29FvfphfWmI2EMZPhg
AnyLogic YouTube - Optimization Experiment:
o https://www.anylogic.com/resources/educational-videos/how-to-video-optimization-experiment-/
StackOverflow:
o https://stackoverflow.com/questions/tagged/anylogic
More information about OptQuest - General:
o https://www.opttek.com/products/optquest/
More information about OptQuest - Whitepapers:
o https://www.opttek.com/products/optquest/optquest-white-papers/
AnyLogic Help - Experiments Framework:
o https://anylogic.help/anylogic/experiments/index.html
Optimisation:
o Infeasible solutions only appear if we have defined constraints/requirements
Use the book "AnyLogic 8 in 3 Days" (free download from AnyLogic website) as reference.
Also, look at the case studies that use libraries you are not supposed to use, as you can learn
something from the way they use general elements.
Difference between Iteration and Replication in Optimisation experiment:
o Iteration > varying parameters
o Replication > varying random number stream
AnyLogic Help:
o https://anylogic.help/anylogic/index.html
AnyLogic Help: Parameter propagation:
o https://anylogic.help/anylogic/data/parameter-propagation.html#parameter-propagation
AnyLogic Help: Hierarchical models and reusable model components:
o https://anylogic.help/library-reference-guides/process-modeling-library/index.html#hierarchical-models-and-
reusable-model-components
AnyLogic Help: Combining the process models with models and constructs of other types:
o https://anylogic.help/library-reference-guides/process-modeling-library/index.html#combining-the-process-models-
with-models-and-constructs-of-other-types
AnyLogic HowTo Series:
o https://www.youtube.com/playlist?list=PLUJJN9tmVTj1czFMt9IKi6wge9GnmMTN3
AnyLogic HowTo Video - Navigating the model with view areas:
o https://www.anylogic.com/resources/educational-videos/how-to-video-navigating-the-model-with-view-areas/
Consider adding a Welcome Screen for the simulation experiment (e.g. to provide a short
description of the use case modelled and to allow setting up parameters):
o https://www.anylogic.com/resources/educational-videos/how-to-video-setting-up-parameters-from-the-
experiment-page/

 WX:codehelp

标签:anylogic,COMP4038,some,AnyLogic,https,model,数据结构,your
From: https://www.cnblogs.com/tongu1/p/17379199.html

相关文章

  • 为什么说程序=算法+数据结构
    听到`程序=数据结构+算法`,可能很多同学觉得不太好理解。那么如果我说`程序=变量+业务`,是不是就好理解了。其实我们开发一款应用程序,就是定义一些变量,然后围绕这些变量进行业务的开展。理解了,我们再来说。变量只是统称,我们可能针对不同的业务使用不同的变量类型(数据结构),来......
  • 【数据结构】单调队列专题(滑动窗口问题)
    一维滑动窗口154.滑动窗口下标从0开始,数组模拟队列#include<iostream>usingnamespacestd;constintN=1e6+10;intn,k;inta[N],q[N];intmain(){scanf("%d%d",&n,&k);for(inti=0;i<n;i++)scanf("%d",&a......
  • 3 第三章 内建数据结构、函数及文件
    Python编程:从入门到实践元组可以使用tuple函数将任意序列或迭代器转换为元组;可以使用+号连接元组来生成更长的元组;将元组乘以整数,则会生成含有多份拷贝的元组元组拆包In[15]:tup=(4,5,6)In[16]:a,b,c=tupIn[17]:b0ut[17]:5交换变量名:In[21]:a,b=1,......
  • js数据结构变化 table动态列展示
    <!DOCTYPEhtml><htmllang="en"><head><metacharset="UTF-8"><metahttp-equiv="X-UA-Compatible"content="IE=edge"><metaname="viewport"content="width=......
  • kissat分析01_基本数据结构02_solver
    solver在internal.h中定义下面从使用的角度来了解solver个主要数据成员 assign.c中几个函数 staticinlinevoidkissat_assign(kissat*solver,#ifdefINLINE_ASSIGNvalue*values,assigned*assigned,#endifunsignedlit,......
  • C语言数据结构---迷宫问题(栈)
    #include<stdio.h>#include<stdlib.h>#defineMAXSIZE20#defineM4#defineN4/*迷宫---外围加上一圈1起点--0011 0000 0111 0000--出口*///此迷宫按照优先向右下方向移动的标准!!!!//要用链表形式的栈存放坐标+方向typedefstruct{ //存放坐标x,y接下来......
  • c语言数据结构-----循环队列
    #include<stdio.h>#include<stdlib.h>#defineMAXSIZE10//循环队列长度为m-1时即为满typedefstruct{ intfront; intrear; int*base;}SqQueue;//初始化队列intInitQueue(SqQueue&q){ q.base=newint[MAXSIZE]; q.front=q.rear=0; return0;}//求队列长度int......
  • 02 BTC-数据结构
    《区块链技术与应用》课程链接:https://www.bilibili.com/video/BV1Vt411X7JF/?spm_id_from=333.337.search-card.all.click02BTC-数据结构目录02BTC-数据结构hashpointerMerkletreehashpointer:不仅可以找到前区块的位置,还能防止前区块是否被篡改。Blockchainisal......
  • cf 数据结构杂题
    rand一些题目做一下,持续更新平衡树gym101261APersistentDequeYouneedtoprocessthefollowingqueries:Bvx—Addxtothebeginningofthedequewithversionv.Evx—Addxtotheendofthedequewithversionv.<v—Removethefirstelemen......
  • 整理一些学过的数据结构和算法
    匆匆忙忙中学了很多算法,但基本都是打个板子就跑路了,有些算法有个人比较深入和独特的见解,但大部分,只是实现例题的需求,对算法的作用似懂非懂,所以写篇博客整理一下。无旋平衡树(treap)高级数据结构:树和堆可以允许的操作:插入,删除,查询某数排名,查询某排名的树(第K大),求某数的前驱,后驱(X......