Schedule Optimization with Python

  Рет қаралды 14,319

APMonitor.com

APMonitor.com

Күн бұрын

Пікірлер: 13
@JosephReynolds-o4j
@JosephReynolds-o4j Жыл бұрын
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 Жыл бұрын
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.
@codingspace1143
@codingspace1143 Жыл бұрын
Thanks for very useful video
@evantale3191
@evantale3191 5 ай бұрын
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 5 ай бұрын
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].
@hassanlaqrabti4036
@hassanlaqrabti4036 Жыл бұрын
Thank you professor
@lazyac_
@lazyac_ Жыл бұрын
thx does someone can help me with this?
@apm
@apm 11 ай бұрын
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_ 11 ай бұрын
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,6 М.
Optimize with Python
38:59
APMonitor.com
Рет қаралды 15 М.
To Brawl AND BEYOND!
00:51
Brawl Stars
Рет қаралды 17 МЛН
IL'HAN - Qalqam | Official Music Video
03:17
Ilhan Ihsanov
Рет қаралды 700 М.
Building AI Solutions with Google OR-Tools - Barry Stahl
1:04:09
NDC Conferences
Рет қаралды 24 М.
First and Last Position of Element in Sorted Array
34:28
How To SCHEDULE Functions & Tasks In Python (FULL GUIDE)
19:49
Supply Chain Optimization with Python
9:23
Supply Science
Рет қаралды 16 М.
Solve ODEs in Excel and Python
31:25
APMonitor.com
Рет қаралды 5 М.
PuLP Tutorial: Linear Programming in Python
19:24
Mohammad T. Irfan
Рет қаралды 14 М.
Scheduling Tasks Professionally in Python
14:08
NeuralNine
Рет қаралды 95 М.
Polynomials
16:04
Whaley Math
Рет қаралды 10