Schedule Optimization with Python

  Рет қаралды 13,500

APMonitor.com

APMonitor.com

Күн бұрын

Пікірлер: 13
@JosephReynolds-o4j
@JosephReynolds-o4j 11 ай бұрын
let's say you don't have fixed number of machines, and you're trying to determine the optimal number of machines to run based on demand
@apm
@apm 11 ай бұрын
We've been researching topics related to design (number or size of machines) and schedule optimization. Here are a few papers (among many with this current topic): Hill, D., McCrea, D., Ho, A., Memmott, M., Powell, K., Hedengren, J., A Multi-Scale method for combined design and dispatch optimization of nuclear hybrid energy systems including storage, e-Prime - Advances in Electrical Engineering, Electronics and Energy, Volume 5, 2023, 100201, ISSN 2772-6711, DOI: 10.1016/j.prime.2023.100201 Mojica, J.L., Petersen, D.J., Hansen, B., Powell, K.M., Hedengren, J.D., Optimal Combined Long-Term Facility Design and Short-Term Operational Strategy for CHP Capacity Investments, Energy, Vol 118, 1, pp. 97-115, January 2017, DOI: 10.1016/j.energy.2016.12.009. I recommend that you also look at work by Ignacio Grossmann at CMU and Christos Maravelias at Princeton for additional contributions to combined scheduling and design optimization.
@muhammadluthfi6887
@muhammadluthfi6887 Жыл бұрын
Thanks for the very insightful video. Im currently on the project of scheduling optimization of blending processes in refinery. is there any learn it further about it from the expert?
@apm
@apm Жыл бұрын
There is more information in these courses: apmonitor.com/me575 and apmonitor.com/do
@xondiego
@xondiego Жыл бұрын
Thanks for this video, a question is APMonitor and Gekko open source? let say if I work for a consultant and I want to use Gekko can I use it for free? otherwise how is the process for using gekko and APMonitor tools for optimization?
@apm
@apm Жыл бұрын
Yes, Gekko is freely available. The source is available from github.com/BYU-PRISM/GEKKO or install with "pip install gekko". It has the MIT License that allows any use, including commercial use.
@evantale3191
@evantale3191 3 ай бұрын
how should I modifies the code if I wanted to to schedule multiple task to the same type of machine that runs parallelly ? great video btw thankyou ! 😄🤝
@apm
@apm 3 ай бұрын
Here is sample code from ChatGPT 4o: from gekko import GEKKO m = GEKKO(remote=False) # Number of tasks num_tasks = 5 # Number of parallel machines for Y and Z num_machines = 2 Y = {0: 10, 1: 20, 2: 15, 3: 40, 4: 8} Z = {0: 20, 1: 30, 2: 10, 3: 25, 4: 18} # Decision variables x = m.Array(m.Var, (num_tasks, num_tasks, num_machines), value=0, lb=0, ub=1, integer=True) # Ensure each task is assigned to exactly one time slot on any machine for i in range(num_tasks): m.Equation(m.sum([x[i, j, k] for j in range(num_tasks) for k in range(num_machines)]) == 1) m.Equation(m.sum([x[j, i, k] for j in range(num_tasks) for k in range(num_machines)]) == 1) # Time to process on Y and Z ty = m.Array(m.Var, (num_tasks, num_machines)) tz = m.Array(m.Var, (num_tasks, num_machines)) for k in range(num_machines): for i in range(num_tasks): m.Equation(ty[i, k] == m.sum([x[i, j, k] * Y[j] for j in range(num_tasks)])) m.Equation(tz[i, k] == m.sum([x[i, j, k] * Z[j] for j in range(num_tasks)])) # Delay time on Z d = m.Array(m.Var, (num_tasks, num_machines), lb=0) s = m.Array(m.Var, (num_tasks, num_machines), lb=0) for k in range(num_machines): m.Equation(d[0, k] == ty[0, k]) m.Equation(s[0, k] == 0) for i in range(1, num_tasks): m.Equation(d[i, k] >= tz[i - 1, k] - ty[i, k] + s[i, k]) # Minimize the total delay and slack m.Minimize(m.sum(d[:,k])) m.Minimize(1e-3 * m.sum(s[:,k])) # Solve the problem m.options.SOLVER = 1 m.solve() # Print the results print('Order of processing, rows=order, columns=product, depth=machine') print(x) print('Time on machine Y') print(ty) print('Time on machine Z') print(tz) print('Delay') print(d) For specific questions, please ask on StackOverflow with tag [gekko].
@codingspace1143
@codingspace1143 Жыл бұрын
Thanks for very useful video
@hassanlaqrabti4036
@hassanlaqrabti4036 Жыл бұрын
Thank you professor
@lazyac_
@lazyac_ 10 ай бұрын
thx does someone can help me with this?
@apm
@apm 10 ай бұрын
Sure, the code examples are available at apmonitor.com/me575/index.php/Main/ScheduleOptimization. If you need help with a specific problem, please post your code to Stack Overflow or use ChatGPT to get help.
@lazyac_
@lazyac_ 9 ай бұрын
Yes ChatGPT helped me! he used pulp library, i not sure about constraints he used but it works @@apm
Knapsack Optimization with Python
10:04
APMonitor.com
Рет қаралды 3,5 М.
Solve ODEs in Excel and Python
31:25
APMonitor.com
Рет қаралды 5 М.
Motorbike Smashes Into Porsche! 😱
00:15
Caters Clips
Рет қаралды 15 МЛН
This dad wins Halloween! 🎃💀
01:00
Justin Flom
Рет қаралды 58 МЛН
the balloon deflated while it was flying #tiktok
00:19
Анастасия Тарасова
Рет қаралды 35 МЛН
Turn Python BLAZING FAST with these 6 secrets
5:01
Dreams of Code
Рет қаралды 48 М.
Optimize with Python
38:59
APMonitor.com
Рет қаралды 14 М.
Python Sudoku Solver - Computerphile
10:53
Computerphile
Рет қаралды 1,2 МЛН
PuLP Tutorial: Linear Programming in Python
19:24
Mohammad T. Irfan
Рет қаралды 14 М.
The Most Important Algorithm in Machine Learning
40:08
Artem Kirsanov
Рет қаралды 500 М.
Genetic Algorithms in Python - Evolution For Optimization
26:10
NeuralNine
Рет қаралды 17 М.
ML Was Hard Until I Learned These 5 Secrets!
13:11
Boris Meinardus
Рет қаралды 334 М.
What P vs NP is actually about
17:58
Polylog
Рет қаралды 121 М.
Linear Programming in Python
15:53
APMonitor.com
Рет қаралды 6 М.