Closed RussellHuffman closed 2 months ago
Despite the name of this PR, it now includes the binary optimization tutorial as well.
In this sentence "For a simple example of optimisation, we borrow one from this book https://math.libretexts.org/Bookshelves/Calculus/Map%3A_Calculus__Early_Transcendentals_(Stewart)/04%3A_Applications_of_Differentiation/4.07%3A_Optimization_Problems", 'optimization' should be corrected.
Maybe remove the 'argmin' and 'argmax' depending on our goal. If we are just targeting STEM majors, then we can keep it. If we are targeting all ages and all fields, then 'argmax/argmin' is a bit confusing and too technical for people who don't have a high mathematics knowledge. Depends how wide we want our target audience. Previously, I had it as: A(x) = 100x-2x^{2} $$ becoming $$ -A(x) = 2x^{2}-100x.
Let's remove the code for generating the graph at the end. It isn't necessary to the objective.
I'd remove the paragraph and information related to the global sum after the matrix is formed. That information can be very confusing to a lot of non-technical people (for me too it took awhile to understand) and may lose the audience. Trying to keep this as little technical as possible. "An astute reader might be curious why we included x2x2 at all, since all the terms involving it our zero, the reason relates to the sum constraint Rconstraints=∑i=1Vi, Rconstraints=i=1∑Vi,
that the values must all obey a constraint on their global sum. Since we don't want a sum constraint here, we simply add another variable with no interaction terms so that the variable x1x1 is effectively not subject to a sum constraint. This is a general strategy which can be used when a problem is stated in a way which does not involve an overall sum constraint."
After discussion with @RussellHuffman, we have decided that it is best to not do the two portfolio optimisation tutorials as notebooks but instead as html pages created in contentful. Thank you @hoffmanguv for the suggestions on the gentle introduction tutorials, they are good suggestions and I will work on addressing them. I don't think there were any suggestions the two portfolio ones.
In this sentence "For a simple example of optimisation, we borrow one from this book https://math.libretexts.org/Bookshelves/Calculus/Map%3A_Calculus__Early_Transcendentals_(Stewart)/04%3A_Applications_of_Differentiation/4.07%3A_Optimization_Problems", 'optimization' should be corrected.
Maybe remove the 'argmin' and 'argmax' depending on our goal. If we are just targeting STEM majors, then we can keep it. If we are targeting all ages and all fields, then 'argmax/argmin' is a bit confusing and too technical for people who don't have a high mathematics knowledge. Depends how wide we want our target audience. Previously, I had it as: A(x) = 100x-2x^{2} $$ becoming $$ -A(x) = 2x^{2}-100x.
Let's remove the code for generating the graph at the end. It isn't necessary to the objective.
I agree the argmax and argmin are probably too technical, but I think the original way it was done is a little unclear on what we are doing. I my current thinking is to change the words to "maximize" and "minimize", let me know what you think. I agree on the code for the plots at the end and have removed them. As for the British spelling, appologies, it has been fixed :).
I'd remove the paragraph and information related to the global sum after the matrix is formed. That information can be very confusing to a lot of non-technical people (for me too it took awhile to understand) and may lose the audience. Trying to keep this as little technical as possible. "An astute reader might be curious why we included x2x2 at all, since all the terms involving it our zero, the reason relates to the sum constraint Rconstraints=∑i=1Vi, Rconstraints=i=1∑Vi,
that the values must all obey a constraint on their global sum. Since we don't want a sum constraint here, we simply add another variable with no interaction terms so that the variable x1x1 is effectively not subject to a sum constraint. This is a general strategy which can be used when a problem is stated in a way which does not involve an overall sum constraint."
Good point, but we do want to have some explanation, for why we do this. I currently replaced this long bit of text with a quick reference to the sum constraint and a suggestion to look at the quick start to learn more.
The first paragraphs have 'optimisation' instead of 'optimization'. "Entropy quantum computing (EQC) is an analog quantum computing paradigm for optimisation. Optimisation problems arise in many contexts, such as economics, drug discovery, finance, energy, supply chain, artificial intelligence (AI), transportation, and many more. While many users may be familiar with optimisation, some may not be. The aim of this tutorial is to provide a guide for those who are not familiar with the topic, for a more in-depth discussion of combinatorial optimisation, a particularly important subfield of optimisation, please see this lesson."
I completely understand with the grammar, I still spell color colour and behavior behaviour at times (from my international high school). Should we keep the graphs, but just remove the code for generating the graphs at the end? Otherwise, everything looks great!
Also at the end (optimisation) "This solution for maximum area aligns with the Energy and Solution Value, which are negative because we negated our objective function. The terminology of calling the objective function value "energy" orginates in physics, where optimisation processes can be thought of as analogies to cooling processes which minimise system energy. Conclusion
This tutorial has been a very gentle introduction into optimization specifically integer/continuous optimization with Dirac-3. If you want to start solving your own problems with this device then please see Dirac-3 quick start. If you want more details about the device itself, please see the Dirac-3 product page. For a much more in-depth understanding, please read our recent preprint about the device. For examples of different kinds of optimisation please try our tutorials on quadratic unconstrianed binary optmization and quadratic linearly constrained binary optimization."
All the instances of "optimisation" should now be updated to "optimization", as of the commit about an hour ago, as well as a few other small grammatical and spelling things.
⚡ Pull Request:
📄 Description
Adding the "gentle introduction" tutorial, and the "continuous optimization" tutorial
📋 Checklist
Ready for review
flag too)🎥 Previews