KSL
所属分类:Kotlin编程
开发工具:kotlin
文件大小:0KB
下载次数:0
上传日期:2023-10-30 21:57:31
上 传 者:
sh-1993
说明: Kotlin Simulation Library(KSL)-基于Kotlin编程语言的离散事件模拟库
(Kotlin Simulation Library (KSL) - A discrete-event simulation library based on the Kotlin programming language)
文件列表:
KSLCore/ (0, 2023-11-08)
KSLCore/build.gradle.kts (9163, 2023-11-08)
KSLCore/dbExamples/ (0, 2023-11-08)
KSLCore/dbExamples/KSL_Db.sql (13863, 2023-11-08)
KSLCore/dbExamples/KSL_DbDropScript.sql (239, 2023-11-08)
KSLCore/dbExamples/KSL_SQLite.sql (12594, 2023-11-08)
KSLCore/dbExamples/SPDatabase_Alter.sql (477, 2023-11-08)
KSLCore/dbExamples/SPDatabase_Create_Alter.sql (840, 2023-11-08)
KSLCore/dbExamples/SPDatabase_FullCreate.sql (1833, 2023-11-08)
KSLCore/dbExamples/SPDatabase_Insert.sql (991, 2023-11-08)
KSLCore/dbExamples/SPDatabase_Postgres.sql (1906, 2023-11-08)
KSLCore/dbExamples/SPDatabase_Tables.sql (362, 2023-11-08)
KSLCore/dbExamples/SP_To_DB.xlsx (5040, 2023-11-08)
KSLCore/dbExamples/SP_To_Excel.xlsx (4972, 2023-11-08)
KSLCore/dbExamples/embeddedDerbyDB.properties (236, 2023-11-08)
KSLCore/dbExamples/postgresDB.properties (190, 2023-11-08)
KSLCore/settings.gradle.kts (1147, 2023-11-08)
KSLCore/src/ (0, 2023-11-08)
KSLCore/src/main/ (0, 2023-11-08)
KSLCore/src/main/kotlin/ (0, 2023-11-08)
KSLCore/src/main/kotlin/ksl/ (0, 2023-11-08)
KSLCore/src/main/kotlin/ksl/calendar/ (0, 2023-11-08)
KSLCore/src/main/kotlin/ksl/calendar/CalendarIfc.kt (2606, 2023-11-08)
KSLCore/src/main/kotlin/ksl/calendar/LinkedListEventCalendar.kt (2661, 2023-11-08)
KSLCore/src/main/kotlin/ksl/calendar/PriorityQueueEventCalendar.kt (1628, 2023-11-08)
KSLCore/src/main/kotlin/ksl/calendar/SkewHeapEventCalendar.kt (3082, 2023-11-08)
KSLCore/src/main/kotlin/ksl/calendar/TreeSetEventCalendar.kt (1827, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/ (0, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/Control.kt (3233, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/ControlType.kt (2801, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/Controls.kt (10428, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/KSLControl.kt (2830, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/experiments/ (0, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/experiments/ExperimentRunParameters.kt (4439, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/experiments/SimulationRun.kt (3774, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/experiments/SimulationRunner.kt (8850, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/testing/ (0, 2023-11-08)
KSLCore/src/main/kotlin/ksl/controls/testing/Van.kt (1694, 2023-11-08)
... ...
The Kotlin Simulation Library (KSL) is a Kotlin library for performing Monte Carlo and Discrete-Event
Dynamic System computer simulations.
The KSL has the following functionality:
- Discrete event calendar and executive
- Random number stream control
- Discrete and continuous random variate generation
- Bernoulli, Beta, ChiSquared, Binomial, Constant, DUniform, Exponential, Gamma, GeneralizedBeta, Geometric, JohnsonB, Laplace, LogLogistic, Lognormal, NegativeBinomial, Normal, PearsonType5, PearsonType6, Poisson, ShiftedGeometric, Triangular, Uniform, Weibull, DEmpirical, Empirical, AR1Normal
- Statistical summary collection including histograms and box plots
- Probability distribution modeling
- Monte Carlo simulation
- Event view modeling
- Process view modeling
- non-stationary arrivals
- entity modeling, movement
- resources, mobile resources
- conveyors
- Simulation data collection to Excel, CSV, databases, and data frames
- Utility extensions for working with arrays and files
## Licensing
The KSL is licensed under the [GPL 3.0](https://www.gnu.org/licenses/gpl-3.0.en.html)
Why the GPL and not the LGPL? The KSL has functionality that could be used to form propriety simulation software.
Using the GPL rather than the LGPL prevents this from happening. Developers and companies are free to use the KSL.
Nothing prevents its use in performing (in-house) simulation analysis within industry. In fact, this is encouraged.
However, developers or companies that want to build and **extend** the KSL (especially for commercial or proprietary reasons),
are not permitted under the GPL, unless they want to release the functionality under the GPL.
Developers and companies are encouraged to add functionality to the KSL and release
the functionality so that everyone can benefit. Developers who want to extend the KSL for proprietary or commercial
purposes can contact the KSL development team for other possible licensing arrangements.
## Cloning and Setting Up a Project
If you are using IntelliJ, you can use its clone repository functionality to
set up a working version. Or, simply download the repository and use IntelliJ to open up
the repository. IntelliJ will recognize the KSL project as a gradle build and configure an appropriate project.
This is a Gradle based project.
## KSL Book
https://rossetti.github.io/KSLBook/
The [book](https://rossetti.github.io/KSLBook/) explains how to use the KSL. For example, in
[Chapter 6](https://rossetti.github.io/KSLBook/processview.html) of the text, you will see fully worked out examples of
how to implement the process view of simulation. For example, to simulate a simple M/M/c queue, code such as this
can be easily developed using the KSL. This code models the usage of a resource via suspending functions, seize(),
delay(), and release(). In addition, it collects statistics on the processing of the entities.
```
private inner class Customer : Entity() {
val pharmacyProcess: KSLProcess = process() {
wip.increment()
timeStamp = time
val a = seize(worker)
delay(serviceTime)
release(a)
timeInSystem.value = time - timeStamp
wip.decrement()
numCustomers.increment()
}
}
```
## KSL Documentation
If you are looking for the KSL API documentation you can find it here:
https://rossetti.github.io/KSLDocs/
The repository for the documentation is here:
https://github.com/rossetti/KSLDocs
Please be aware that the book and documentation may lag the releases due to lack of developer time.
## Gradle and Build Details
The KSL is organized as a multi-project gradle build.
KSLCore - the main simulation functionality.
Additional projects are available for illustrating and other work related to the KSL.
KSExamples - a project that has example code that illustrates the KSL and contains the examples shown in the textbook.
KSLProjectTemplate - a pre-configured project using gradle that is set up to use the KSL
KSLTesting - a separate project that does some basic testing related to the KSL
group = "io.github.rossetti"
name = "KSLCore"
version = "R1.0.3"
## Release Notes
Latest Release: R1.0.3
- fixed issue with PMFModeler that caused bin probabilities to be incorrectly updated
- added ability to save plots to PDFModeler
Release: R1.0.2
- added support for plotting output from simulation (ksl.utilities.io.plotting)
- added distribution fitting and testing capabilities (ksl.utilities.distributions.fitting)
- added conveyors for process modeling (ksl.modeling.entity.Conveyor)
- revised database structure (ksl.utilities.io.dbutil.KSLDatabase)
- added multi-objective decision analysis functionality (ksl.utilities.moda)
- dataframe I/O (ksl.utilities.io.DataFrameUtil)
- updated examples in KSLExamples project
- updated KSLProjectTemplate to use new release
近期下载者:
相关文件:
收藏者: