I’m using this issue to gather comments, suggestions, and others on the notebook.
Start checking them once the chages are commited into the repo.
[x] Change repo name, specialize it to this project in particular
[x] Complete the README.md file to better describe what’s in it
[x] The links in the notebook are dead: There are no installation instructions, there Bernal Lab is called SECQUOIA, and the Colab notebook points to the QUBONotebooks
[x] Use the corrections of the abstract in the notebook (remove MIQP, only mention MIP, …)
[x] In the imports, do you need them all?
[x] For the data, do not put them directly into the notebook, but have them as separate data files and import them using pandas
[x] The function to import the data should then pull the data from the files based on their names
[x] Complete the documentation of the functions
[x] The water consumption data should also be imported
[x] There is a mistake in the mathematical formulation of the QUBO. The sum should not be including s when penalizing the constraint
[x] The create model function should be split into 3 functions, create_miqp, create_qubo, and create_qubo_dimod
[x] Solve the problem with MIQP and QUBO using Gurobi and report if they find the same solution (variable values and objective function) and compare runtimes
[x] There is a confusion about the standard form. That is the standard form of an LP, but not of a QUBO. You can start from the MIQP to do the reformulation into QUBO (you can recycle the QUBO notebook as it will have the code to help you find the Q matrix)
[x] The offset is not 1, you have a lot of terms that are not multiplied to the variables. This is required to check whether the problem is being solved correctly via dimod.
[x] Clean the notebook for it not to include the Ising example and the map example.
[x] Merge the get nodes, edges, water consumtion… functions into a single one that return a tuple of the nodes, edges, and water consumtion
[x] Within the functions, do not have a conditional checking the whole string for the file address. Just replace the string into the address instead of checking the whole strong. To verify if you have it included, compare the strong within a list of included cities
[x] Use relative addresses, if I were to clone this repository it will not work as it has the address for your particular OneDrive
[x] Move the folder outside of OneDrive, it can mess up the .git files.
[x] Be more specific in create_model function names as you have different kinds of models
[x] Remove NASA from the affiliations
[x] Create function to print sensor placement results
[x] The functions should not necessarily call the previous defined functions. Have the output of a given function be the argument of the other without having each function call the other.
[ ] Add the markdown for the MIQP function explaining the overall model, this should be a documentation of your problem.
[x] I think there is a mistake in the Qii for the QUBO reformulation, as from one point to another you pass from w_ij to a sum over j. Review that
[x] There is definitely a mistake in the QUBO formulation as all samples have the same energy
[x] Before pushing new code, you need to rerun the whole notebook from scratch.
I’m using this issue to gather comments, suggestions, and others on the notebook. Start checking them once the chages are commited into the repo.