Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
42 commits
Select commit Hold shift + click to select a range
ebd13d6
add paper example
MohamedLaghdafHABIBOULLAH Sep 4, 2025
158fc0a
minor error
MohamedLaghdafHABIBOULLAH Sep 4, 2025
8c75806
add bib
MohamedLaghdafHABIBOULLAH Sep 4, 2025
595c372
correct the typos and bib
MohamedLaghdafHABIBOULLAH Sep 5, 2025
49cf76b
Update GitHub Actions workflow for PDF generation
MohamedLaghdafHABIBOULLAH Sep 5, 2025
3722a04
Update draft-pdf.yml
MohamedLaghdafHABIBOULLAH Sep 5, 2025
2bb4f05
Apply suggestions from code review
MohamedLaghdafHABIBOULLAH Sep 6, 2025
33510b3
incorporate suggestions
MohamedLaghdafHABIBOULLAH Sep 7, 2025
3b67bb7
add opt bib
MohamedLaghdafHABIBOULLAH Sep 7, 2025
afd7753
correct the title
MohamedLaghdafHABIBOULLAH Sep 7, 2025
269bad8
incorporate Dominique comments
MohamedLaghdafHABIBOULLAH Sep 8, 2025
bc756ee
Add the examples
MohamedLaghdafHABIBOULLAH Sep 8, 2025
3c68da0
clarify the comparison
MohamedLaghdafHABIBOULLAH Sep 8, 2025
b06581b
add first results on fh
MohamedLaghdafHABIBOULLAH Sep 15, 2025
3754018
Test if the workflow works
MohamedLaghdafHABIBOULLAH Sep 16, 2025
3ac9d45
Apply suggestions from code review
MohamedLaghdafHABIBOULLAH Sep 22, 2025
7c1856a
include new changes
MohamedLaghdafHABIBOULLAH Sep 22, 2025
f7cca94
Supprimer jso-packages.pdf du fichier .gitignore
MohamedLaghdafHABIBOULLAH Sep 22, 2025
bff5892
reviwe the paper draft
MohamedLaghdafHABIBOULLAH Sep 25, 2025
f4c0c2e
Update paper/paper.md
MohamedLaghdafHABIBOULLAH Sep 25, 2025
f523011
Refine documentation by removing hyperparameter tuning section and en…
MohamedLaghdafHABIBOULLAH Sep 25, 2025
4152a56
Enhance documentation by refining the section on Hessians, clarifying…
MohamedLaghdafHABIBOULLAH Sep 25, 2025
5cf8f24
final version
MohamedLaghdafHABIBOULLAH Sep 29, 2025
bb2b23b
add nonmonotone and use opnorm=20 for all solvers
MohamedLaghdafHABIBOULLAH Sep 29, 2025
30c8c8f
Update paper/paper.md
MohamedLaghdafHABIBOULLAH Sep 29, 2025
ad42d67
Update paper/paper.md
MohamedLaghdafHABIBOULLAH Sep 29, 2025
157b986
minor changes
MohamedLaghdafHABIBOULLAH Sep 29, 2025
552c243
second final version
MohamedLaghdafHABIBOULLAH Sep 30, 2025
1ba1185
update results with master rebased
MohamedLaghdafHABIBOULLAH Sep 30, 2025
66ed713
minor comments
MohamedLaghdafHABIBOULLAH Sep 30, 2025
a9a4985
Fix typos and improve clarity in paper.md
MohamedLaghdafHABIBOULLAH Sep 30, 2025
872cbd0
Improve clarity in examples section of paper.md
MohamedLaghdafHABIBOULLAH Sep 30, 2025
fc1f5a6
Refine shifted proximal operator definitions and enhance clarity in r…
MohamedLaghdafHABIBOULLAH Sep 30, 2025
8dc9fdc
Incorporate Dominique comments
MohamedLaghdafHABIBOULLAH Sep 30, 2025
d10eb41
Update benchmark results in Benchmark.tex after debugging with constr…
MohamedLaghdafHABIBOULLAH Sep 30, 2025
8d5d675
Update benchmark results in Benchmark.tex to reflect accurate perform…
MohamedLaghdafHABIBOULLAH Sep 30, 2025
037ca76
Improve clarity in the description of splitting schemes in the model-…
MohamedLaghdafHABIBOULLAH Sep 30, 2025
c0b0104
Refine descriptions in the model-based framework section of paper.md …
MohamedLaghdafHABIBOULLAH Sep 30, 2025
f92e92e
Refactor benchmarking scripts and update results table
MohamedLaghdafHABIBOULLAH Sep 30, 2025
3f1c939
Adding a note on gradient evaluations for the LM solver.
MohamedLaghdafHABIBOULLAH Oct 1, 2025
a2e0b9e
Adding a note on gradient evaluations for the LM solver.
MohamedLaghdafHABIBOULLAH Oct 1, 2025
ab8ef54
Clarify solver statistics and gradient evaluation details for the LM …
MohamedLaghdafHABIBOULLAH Oct 1, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 0 additions & 26 deletions .cirrus.yml

This file was deleted.

23 changes: 22 additions & 1 deletion .github/workflows/draft-pdf.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,11 +21,32 @@ jobs:
journal: joss
# This should be the path to the paper within your repo.
paper-path: paper/paper.md
- name: Upload
- name: Upload pdf artifact
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We don't need to do this with Cirrus.

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I suggest uploading the paper manually for now, since I haven’t figured out how to make the workflow upload the PDF automatically:
https://github.com/MohamedLaghdafHABIBOULLAH/RegularizedOptimization.jl/actions/runs/18014594356

uses: actions/upload-artifact@v4
with:
name: paper
# This is the output path where Pandoc will write the compiled
# PDF. Note, this should be the same directory as the input
# paper.md
path: paper/paper.pdf
- name: Create release
if: github.event_name == 'push'
uses: rymndhng/release-on-push-action@master
id: release
with:
bump_version_scheme: patch
tag_prefix: v
release_body: ""
use_github_release_notes: true
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload PDF to release
if: github.event_name == 'push'
uses: svenstaro/upload-release-action@v2
with:
repo_token: ${{ secrets.GITHUB_TOKEN }}
file: paper/paper.pdf
asset_name: joss-draft.pdf
tag: ${{ steps.release.outputs.tag_name }}
overwrite: true
body: ""
Comment on lines +32 to +52
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actually, it looks like it does not work.
This is weird, you might need to remove I am not sure.

4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
paper/examples/Manifest.toml
paper/jats/paper.jats
paper/jats/jso-packages.pdf
paper/paper.pdf
43 changes: 43 additions & 0 deletions paper/examples/Bench-utils.jl
Original file line number Diff line number Diff line change
@@ -0,0 +1,43 @@
module BenchUtils

using ProximalAlgorithms
using ProximalCore
using NLPModels

export Counting, reset_counters!, make_adnlp_compatible!

(f::AbstractNLPModel)(x) = obj(f,x)

function ProximalAlgorithms.value_and_gradient(f::AbstractNLPModel, x)
return obj(f,x), grad(f, x)
end

"Wrapper compteur pour f ou g (compte #obj, #∇f, #prox)."
mutable struct Counting{T}
f::T
eval_count::Int
gradient_count::Int
prox_count::Int
end
Counting(f::T) where {T} = Counting{T}(f, 0, 0, 0)

# f(x)
(f::Counting)(x) = (f.eval_count += 1; f.f(x))

# (f, ∇f)
function ProximalAlgorithms.value_and_gradient(f::Counting, x)
f.eval_count += 1
f.gradient_count += 1
return ProximalAlgorithms.value_and_gradient(f.f, x)
end

# prox!(y, g, x, γ)
function ProximalCore.prox!(y, g::Counting, x, γ)
g.prox_count += 1
return ProximalCore.prox!(y, g.f, x, γ)
end

"Réinitialise les compteurs d’un Counting."
reset_counters!(c::Counting) = (c.eval_count = 0; c.gradient_count = 0; c.prox_count = 0; nothing)

end # module
Loading