From 982c702bb5007f9e9554b906c3519a451ab37c16 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 30 Aug 2025 01:14:53 +0000 Subject: [PATCH 1/8] Initial plan From afda29f9701e5b1e687a6a6763ccf065f852ede9 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 30 Aug 2025 01:20:27 +0000 Subject: [PATCH 2/8] Fix sudoku exercise answer checking issues Co-authored-by: andrewrosemberg <24196241+andrewrosemberg@users.noreply.github.com> --- Manifest.toml | 7 ++++++ .../optimization_basics.jl | 22 ++++++++++++++++--- 2 files changed, 26 insertions(+), 3 deletions(-) create mode 100644 Manifest.toml diff --git a/Manifest.toml b/Manifest.toml new file mode 100644 index 0000000..659f851 --- /dev/null +++ b/Manifest.toml @@ -0,0 +1,7 @@ +# This file is machine-generated - editing it directly is not advised + +julia_version = "1.11.6" +manifest_format = "2.0" +project_hash = "da39a3ee5e6b4b0d3255bfef95601890afd80709" + +[deps] diff --git a/class01/background_materials/optimization_basics.jl b/class01/background_materials/optimization_basics.jl index 6ad17ce..d3ac4b5 100644 --- a/class01/background_materials/optimization_basics.jl +++ b/class01/background_materials/optimization_basics.jl @@ -436,7 +436,7 @@ begin [7 1 3 9 2 4 8 5 6]; [9 6 1 5 3 7 2 8 4]; [2 8 7 4 1 9 6 3 5]; - [3 4 5 2 8 6 1 7 9]]) + [3 4 5 2 8 6 1 7 9]],) anss = missing try @@ -447,8 +447,24 @@ begin anss = missing end - goods = !ismissing(anss) && - all(isapprox.(anss.x_ss, ground_truth_s.x_ss; atol=1e-3)) + # Convert 3D binary matrix to 2D solution matrix + function convert_3d_to_solution(x_3d) + if ismissing(x_3d) + return missing + end + solution = zeros(Int, 9, 9) + for i in 1:9, j in 1:9, k in 1:9 + if x_3d[i, j, k] ≈ 1.0 + solution[i, j] = k + end + end + return solution + end + + solution_matrix = ismissing(anss) ? missing : convert_3d_to_solution(anss.x_ss) + + goods = !ismissing(anss) && !ismissing(solution_matrix) && + all(isapprox.(solution_matrix, ground_truth_s.x_ss; atol=1e-3)) if ismissing(anss) still_missing() From 204aff5aca8bea8901bbc86a36e2a575d7f4b2ae Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 30 Aug 2025 01:21:42 +0000 Subject: [PATCH 3/8] Remove accidentally created root Manifest.toml Co-authored-by: andrewrosemberg <24196241+andrewrosemberg@users.noreply.github.com> --- Manifest.toml | 7 ------- 1 file changed, 7 deletions(-) delete mode 100644 Manifest.toml diff --git a/Manifest.toml b/Manifest.toml deleted file mode 100644 index 659f851..0000000 --- a/Manifest.toml +++ /dev/null @@ -1,7 +0,0 @@ -# This file is machine-generated - editing it directly is not advised - -julia_version = "1.11.6" -manifest_format = "2.0" -project_hash = "da39a3ee5e6b4b0d3255bfef95601890afd80709" - -[deps] From 478423132cea886f2910b301682e9dbeb51d2e28 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Tue, 2 Sep 2025 23:21:20 +0000 Subject: [PATCH 4/8] Fix variable naming conflict in optimization_basics.jl - issue #31 Co-authored-by: andrewrosemberg <24196241+andrewrosemberg@users.noreply.github.com> --- class01/background_materials/optimization_basics.jl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/class01/background_materials/optimization_basics.jl b/class01/background_materials/optimization_basics.jl index d3ac4b5..6145105 100644 --- a/class01/background_materials/optimization_basics.jl +++ b/class01/background_materials/optimization_basics.jl @@ -723,7 +723,7 @@ begin # Decide which badge to show if ismissing(ansd) # nothing yet still_missing() - elseif x == 25.0 + elseif ansd == 25.0 correct() else keep_working() From 011eb5527b0394bc6ffc2264aef33d8c3f48f31b Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 2 Sep 2025 19:43:21 -0400 Subject: [PATCH 5/8] extra fixes --- .../optimization_basics.jl | 19 +++++++------------ 1 file changed, 7 insertions(+), 12 deletions(-) diff --git a/class01/background_materials/optimization_basics.jl b/class01/background_materials/optimization_basics.jl index 6145105..9844d4e 100644 --- a/class01/background_materials/optimization_basics.jl +++ b/class01/background_materials/optimization_basics.jl @@ -438,14 +438,9 @@ begin [2 8 7 4 1 9 6 3 5]; [3 4 5 2 8 6 1 7 9]],) - anss = missing - try - anss = ( - x_ss = haskey(sudoku, :x_s) ? JuMP.value.(sudoku[:x_s]) : missing, - ) - catch - anss = missing - end + anss = (; + x_ss = haskey(sudoku, :x_s) && JuMP.is_solved_and_feasible(sudoku) ? JuMP.value.(sudoku[:x_s]) : missing + ) # Convert 3D binary matrix to 2D solution matrix function convert_3d_to_solution(x_3d) @@ -594,8 +589,8 @@ begin model_nlp = Model(Ipopt.Optimizer) # Required named variables -@variable(model_nlp, x) -@variable(model_nlp, y) +@variable(model_nlp, x_nlp) +@variable(model_nlp, y_nlp) # --- YOUR CODE HERE --- @@ -737,8 +732,8 @@ begin ans3=missing try ans3 = ( - x = safeval(model_nlp, :x), - y = safeval(model_nlp, :y), + x = safeval(model_nlp, :x_nlp), + y = safeval(model_nlp, :y_nlp), obj = objective_value(model_nlp), ) catch From 64fc22159bdafb02d6b025b0bc0ea04c98938715 Mon Sep 17 00:00:00 2001 From: Andrew Date: Tue, 2 Sep 2025 19:51:53 -0400 Subject: [PATCH 6/8] update html --- class01/background_materials/optimization_basics.html | 4 ++-- class01/background_materials/optimization_basics.jl | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/class01/background_materials/optimization_basics.html b/class01/background_materials/optimization_basics.html index ab359ed..196b789 100644 --- a/class01/background_materials/optimization_basics.html +++ b/class01/background_materials/optimization_basics.html @@ -3,11 +3,11 @@ diff --git a/class01/background_materials/optimization_basics.jl b/class01/background_materials/optimization_basics.jl index 9844d4e..5198664 100644 --- a/class01/background_materials/optimization_basics.jl +++ b/class01/background_materials/optimization_basics.jl @@ -461,7 +461,7 @@ begin goods = !ismissing(anss) && !ismissing(solution_matrix) && all(isapprox.(solution_matrix, ground_truth_s.x_ss; atol=1e-3)) - if ismissing(anss) + if ismissing(anss.x_ss) still_missing() elseif goods correct() @@ -810,7 +810,7 @@ end # ╟─bca712e4-3f1c-467e-9209-e535aed5ab0a # ╟─3997d993-0a31-435e-86cd-50242746c305 # ╠═3f56ec63-1fa6-403c-8d2a-1990382b97ae -# ╟─0e8ed625-df85-4bd2-8b16-b475a72df566 +# ╠═0e8ed625-df85-4bd2-8b16-b475a72df566 # ╟─fa5785a1-7274-4524-9e54-895d46e83861 # ╟─5e3444d0-8333-4f51-9146-d3d9625fe2e9 # ╠═0e190de3-da60-41e9-9da5-5a0c7fefd1d7 From 056607bb2a4152e03d4bcc86754427e68aad796b Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 3 Sep 2025 17:04:42 -0400 Subject: [PATCH 7/8] add special thanks --- class01/background_materials/math_basics.jl | 2 ++ class01/background_materials/optimization_basics.jl | 2 ++ 2 files changed, 4 insertions(+) diff --git a/class01/background_materials/math_basics.jl b/class01/background_materials/math_basics.jl index f7e38b3..d23910e 100644 --- a/class01/background_materials/math_basics.jl +++ b/class01/background_materials/math_basics.jl @@ -39,6 +39,8 @@ md" | Lecturer | : | Rosemberg, Andrew | | Date | : | 28 of July, 2025 | +Special thanks to **Guancheng Qiu** for helping fix some of the code! + # Background Math (_Welcome to Pluto!_) This background material will use Pluto! diff --git a/class01/background_materials/optimization_basics.jl b/class01/background_materials/optimization_basics.jl index 5198664..cf92755 100644 --- a/class01/background_materials/optimization_basics.jl +++ b/class01/background_materials/optimization_basics.jl @@ -37,6 +37,8 @@ md""" | Lecturer | : | Rosemberg, Andrew | | Date | : | 28 of July, 2025 | +Special thanks to **Guancheng Qiu** for helping fix some of the code! + """ # ╔═╡ eeceb82e-abfb-4502-bcfb-6c9f76a0879d From 99dd777f8af58f37db8d64696c4d0c95da6ed07e Mon Sep 17 00:00:00 2001 From: Andrew Date: Wed, 3 Sep 2025 17:09:13 -0400 Subject: [PATCH 8/8] update html --- class01/background_materials/math_basics.html | 14 ++++++-------- .../background_materials/optimization_basics.html | 4 ++-- 2 files changed, 8 insertions(+), 10 deletions(-) diff --git a/class01/background_materials/math_basics.html b/class01/background_materials/math_basics.html index 79e0b10..1189918 100644 --- a/class01/background_materials/math_basics.html +++ b/class01/background_materials/math_basics.html @@ -1,19 +1,17 @@ - - + -
\ No newline at end of file +
\ No newline at end of file diff --git a/class01/background_materials/optimization_basics.html b/class01/background_materials/optimization_basics.html index 196b789..94b9dc6 100644 --- a/class01/background_materials/optimization_basics.html +++ b/class01/background_materials/optimization_basics.html @@ -3,11 +3,11 @@