Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Decide whether to use DataFrames as data structures or actual structs #118

Closed
Tracked by #94
abelsiqueira opened this issue Sep 27, 2023 · 4 comments · Fixed by #254
Closed
Tracked by #94

Decide whether to use DataFrames as data structures or actual structs #118

abelsiqueira opened this issue Sep 27, 2023 · 4 comments · Fixed by #254
Labels
Type: research Results in knowledge/decision rather than code Zone: code architecture Changes to the structure or fundamentals

Comments

@abelsiqueira
Copy link
Member

abelsiqueira commented Sep 27, 2023

Decide whether to use DataFrames as data structures or actual structs (using MetaGraphs.jl)

Maybe it is not necessary to use a separate dedicated struct to hold the data for the assets and edges since we are already reading these things from CSV files (probably into DataFrames). That means that they don't need a special structure, and therefore using the DataFrames directly should be viable.

Depends on:

@abelsiqueira abelsiqueira mentioned this issue Sep 27, 2023
8 tasks
@abelsiqueira abelsiqueira changed the title Decide whether to use DataFrames as data structures or actual structs (using MetaGraphs.jl) Decide whether to use DataFrames as data structures or actual structs Sep 27, 2023
@abelsiqueira abelsiqueira added the Zone: code architecture Changes to the structure or fundamentals label Sep 27, 2023
@clizbe clizbe added the Type: research Results in knowledge/decision rather than code label Sep 29, 2023
@clizbe
Copy link
Member

clizbe commented Oct 5, 2023

We have several issues about dataframes, structs, namedtuples, dicts.
#118 #105 #36 #16

According to this random person on the internet, dataframes aren't meant for data with named rows, which it seems like we have.
https://discourse.julialang.org/t/when-should-i-choose-a-struct-mutable-struct-dict-named-tuple-or-dataframe/60366/4
Is that what you meant about problems retracing violated constraints?

Should we be using a different data storage type for our parameters and variables? Maybe immutable and mutable structs? Although the response above also sounds like tuples could be an option. I don't know what counts as a "smallish amount of objects."

@abelsiqueira
Copy link
Member Author

These issues are a bit related to https://jump.dev/JuMP.jl/stable/tutorials/getting_started/design_patterns_for_larger_models/ and the subsequent chapter on performance.

The question for all these issues is where we'll stand in the balance between performance and readability (code readability and log readability).

My short answer is to do what looks nicer but not obviously slow, and then benchmark/profile later.
Before we can benchmark, we need a working model from beginning to end with at least the Nordic case, and possibly the solver that we will, in fact, use.

@clizbe
Copy link
Member

clizbe commented Oct 18, 2023

Blocked until Benchmark #111 #146

@datejada
Copy link
Member

datejada commented Nov 1, 2023

waiting on #110

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Type: research Results in knowledge/decision rather than code Zone: code architecture Changes to the structure or fundamentals
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants