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

Move LOGOS from GitLab Repo to GitHub Repo #3

Merged
merged 294 commits into from
Jan 12, 2021
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
294 commits
Select commit Hold shift + click to select a range
3eee6e5
remove battery replacement model, this is because this model is based…
wangcj05 Sep 6, 2019
253f7ed
Merge branch 'master' of hpcgitlab.hpc.inl.gov:wangc/Logos
wangcj05 Sep 6, 2019
b6f463e
remove unneeded tags
wangcj05 Sep 9, 2019
2cf73d9
update input files
wangcj05 Sep 10, 2019
c1c068f
mv utils to investmentUtils
wangcj05 Sep 10, 2019
25f68de
format outputs to numpy.array
wangcj05 Sep 10, 2019
5e43a6e
update external model, change list type of outputs to numpy.array type
wangcj05 Sep 10, 2019
1f4c358
regold
wangcj05 Sep 10, 2019
ffeda2f
update readme
wangcj05 Sep 17, 2019
3ccd54b
Merge branch 'master' of hpcgitlab.hpc.inl.gov:wangc/Logos
wangcj05 Sep 17, 2019
b18e60d
add test cases for use case 1
wangcj05 Sep 27, 2019
4491db8
add gold files
wangcj05 Sep 27, 2019
c5decd7
update test info
wangcj05 Sep 27, 2019
19ec7cc
update MCKP to handle general uncertainties in available capitals
wangcj05 Sep 30, 2019
575a63d
add test case for stochastic optimization of use case no.2
wangcj05 Sep 30, 2019
3222100
add extend test with total cost for use case 2
wangcj05 Oct 1, 2019
671d0ef
update build
wangcj05 Oct 1, 2019
929e137
add capability to handle non-selection and regulartory mandated
wangcj05 Oct 1, 2019
05d1da4
update tests
wangcj05 Oct 1, 2019
ba1dbf4
restructure MCKP
wangcj05 Oct 1, 2019
d15578b
extend MCKP to handle additional constraints
wangcj05 Oct 2, 2019
59c5230
add options to disable optional constraints
wangcj05 Oct 2, 2019
759d378
add tests to test optional constraints and add gold files
wangcj05 Oct 2, 2019
2908fb8
add tests for case 2b
wangcj05 Oct 2, 2019
6df2538
add tests for use case 2b with different uniform budget distributions
wangcj05 Oct 2, 2019
26b5916
add use case 2c and 2d
wangcj05 Oct 2, 2019
405d4c9
add gold files and test for use case no 3
wangcj05 Oct 3, 2019
796499b
add use case no 3b
wangcj05 Oct 3, 2019
ab05f9e
add script for the executable
wangcj05 Oct 4, 2019
83871a5
clean up
wangcj05 Oct 4, 2019
68bfa1a
add documents
wangcj05 Oct 4, 2019
fa8328e
add raven external models for NPV calculations
wangcj05 Oct 4, 2019
08d4729
multi-threading for cbc solver, this is not a feature for glpk (which…
wangcj05 Oct 17, 2019
45ab930
add ph solver and options
wangcj05 Oct 21, 2019
7f2c859
enable logging to log infos to both console and file
wangcj05 Nov 1, 2019
9a1e9b4
restructure tests
wangcj05 Nov 18, 2019
c4ca499
restructure Capital Investments Optimizations
wangcj05 Nov 18, 2019
154e7a4
update import path
wangcj05 Nov 18, 2019
87cff96
finalize import
wangcj05 Nov 19, 2019
f2b446d
update __init__ file
wangcj05 Nov 19, 2019
142c6db
update path
wangcj05 Nov 19, 2019
230bc0d
update path for logos run as a code
wangcj05 Nov 19, 2019
0077d34
switch to argparse to parse command line
wangcj05 Nov 19, 2019
4fab1c5
some update
wangcj05 Nov 19, 2019
5e5e839
add raven plugin executable Tester
wangcj05 Nov 19, 2019
cdcf96c
add gold files
wangcj05 Nov 19, 2019
70d2647
add test description scripts
wangcj05 Nov 20, 2019
e1031e5
Merge branch 'wangc/rework' into 'master'
wangcj05 Nov 21, 2019
ed44490
add tests files
wangcj05 Nov 21, 2019
7969005
add TestInfo for all tests
wangcj05 Nov 21, 2019
18ba5de
Merge branch 'wangc/rework' into 'master'
wangcj05 Nov 21, 2019
58854c3
update tests
wangcj05 Nov 21, 2019
e34d019
Merge branch 'wangc/rework' into 'master'
wangcj05 Nov 21, 2019
ec1b522
Update README.md
wangcj05 Nov 21, 2019
f559390
update user manual
wangcj05 Nov 26, 2019
a9742a5
add NPV models
wangcj05 Dec 3, 2019
a6f99c1
add tests for NPV models
wangcj05 Dec 3, 2019
92af17f
update tests
wangcj05 Dec 3, 2019
274afa9
add test cases for FY19 sept milestone
wangcj05 Dec 3, 2019
051678a
initial implementation about external constraints
wangcj05 Feb 20, 2020
dfc3aa9
add pyomo wrapper
wangcj05 Feb 21, 2020
58991d9
docstring update
wangcj05 Feb 21, 2020
a94428d
add more functions for pyomo interface
wangcj05 Feb 24, 2020
5fff019
fix minor errors
wangcj05 Feb 24, 2020
8b3ce78
add paramsAuxInfo
wangcj05 Feb 25, 2020
c4c5708
update setParameters
wangcj05 Feb 25, 2020
3a8d576
initialize method in external constraint can be used to modify Parame…
wangcj05 Feb 25, 2020
8cb9d0f
complete initial implementation
wangcj05 Feb 25, 2020
3ebc7a9
some cleanup
wangcj05 Feb 25, 2020
bfe7ead
change api for external constraints for better protection
wangcj05 Feb 25, 2020
19725d7
add full descriptions for how to construct external constraints
wangcj05 Feb 25, 2020
02ce5d2
update tests
wangcj05 Feb 25, 2020
36ea506
update run_tests
wangcj05 Feb 25, 2020
0869c95
address comments
wangcj05 Mar 4, 2020
d1644f5
add more description for initDict
wangcj05 Mar 4, 2020
dd985ac
add introduction
wangcj05 Mar 5, 2020
c8e80d5
Add description for both deterministic and stochastic capital budgeting
wangcj05 Mar 5, 2020
189cd0d
update introduction
wangcj05 Mar 5, 2020
c653c04
finalize introduction
wangcj05 Mar 5, 2020
8844b06
initial added modeling components
wangcj05 Mar 5, 2020
4042284
add description for Settings
wangcj05 Mar 6, 2020
e575b8e
update Sets and Parameters
wangcj05 Mar 6, 2020
817a2e0
Merge branch 'wangc/pyomo_wrapper' into 'master'
wangcj05 Mar 6, 2020
f6d3245
Merge branch 'master' into wangc/user_manual
wangcj05 Mar 6, 2020
6e7b787
finalize components explanation
wangcj05 Mar 6, 2020
79f2c3c
some edit
wangcj05 Mar 6, 2020
62541c5
update deterministic capital budgeting
wangcj05 Mar 9, 2020
ec45a33
add description for single knapsack problem
wangcj05 Mar 9, 2020
e7d68be
add description for mkp
wangcj05 Mar 9, 2020
f11a797
add description for mckp
wangcj05 Mar 9, 2020
12d0ebf
add description for Risk-Informed Simple Knapsack Problem
wangcj05 Mar 10, 2020
819a90b
add description for risk-informed dkp
wangcj05 Mar 10, 2020
767a751
add description for risk-informed mkp
wangcj05 Mar 10, 2020
a390d5c
add description for risked-informed mckp
wangcj05 Mar 10, 2020
21261d3
add description for raven plugin
wangcj05 Mar 10, 2020
755e44e
update cashflow model descriptions
wangcj05 Mar 10, 2020
7483319
some updates
wangcj05 Mar 10, 2020
5febec1
add dependencies
wangcj05 Mar 11, 2020
6a7606c
update dependencies
wangcj05 Mar 11, 2020
4678c0c
update dependencies
wangcj05 Mar 11, 2020
843d373
update tests
wangcj05 Mar 11, 2020
abf8ed4
Merge branch 'master' of hpcgitlab.hpc.inl.gov:RAVEN_PLUGINS/LOGOS
wangcj05 Mar 11, 2020
2ee8ddf
change Logos to LOGOS
wangcj05 Mar 12, 2020
1bdbbba
update tests and import module lists
wangcj05 Mar 12, 2020
2518e50
update dependencies
wangcj05 Mar 17, 2020
0425fb0
update dependencies
wangcj05 Mar 17, 2020
38f0b84
add Logos Tester
wangcj05 Mar 17, 2020
206596e
checked NPV calculation and regold
wangcj05 Mar 17, 2020
08fe5b9
update tests, and fix some errors, all tests should pass now
wangcj05 Mar 17, 2020
3352ded
increase max time for test logos_skp_EE_41_projects
wangcj05 Mar 17, 2020
bc98919
Merge branch 'master' into wangc/user_manual
wangcj05 Mar 18, 2020
9ded4ea
address comments
wangcj05 Mar 18, 2020
05818ba
update descriptions for external constraints
wangcj05 Mar 18, 2020
24515c2
update user manual
wangcj05 Mar 18, 2020
ecb1a38
some mkp tests can have multiple solutions, for now, we only check th…
wangcj05 Mar 19, 2020
05876a5
Merge branch 'wangc/user_manual' into 'master'
wangcj05 Mar 23, 2020
261dda8
add max time for heavy tests
wangcj05 Mar 23, 2020
6fe7360
edits from technique reviews
wangcj05 Apr 1, 2020
8ebad50
edits from technique editors
wangcj05 Apr 2, 2020
edfb4d0
update gitlab CI and issue template
wangcj05 Apr 15, 2020
c0b285e
Update README.md
wangcj05 Apr 16, 2020
ce5c176
add dro example from Dave
wangcj05 Apr 16, 2020
8531fcf
add pyomo models from dave and ivi
wangcj05 Apr 20, 2020
677280e
Merge branch 'master' into wangc/dro
wangcj05 Apr 20, 2020
d20a285
add gams dro model
wangcj05 Apr 22, 2020
1eea136
add python dro model
wangcj05 Apr 22, 2020
b91ab4c
refactor MCKP model
wangcj05 Apr 23, 2020
f0334aa
update MCKP
wangcj05 Apr 23, 2020
7850539
add DRO MCKP model
wangcj05 Apr 23, 2020
54d9432
update DROMCKP
wangcj05 Apr 28, 2020
10d2bec
add distance functions
wangcj05 Apr 28, 2020
01d3dd3
fix typo in DROMCKP
wangcj05 Apr 28, 2020
9f10de0
fix errors
wangcj05 Apr 28, 2020
c6bc467
update DRO calculations
wangcj05 Apr 28, 2020
ed63443
update
wangcj05 Apr 28, 2020
9a1b75d
finish first implementation for DRO-MCKP problem
wangcj05 Apr 28, 2020
885561c
fix print issue
wangcj05 Apr 29, 2020
3f0f11e
add tests
wangcj05 Apr 29, 2020
5ed0bb7
clean up
wangcj05 Apr 29, 2020
59a37cc
fix crashes for MCKP
wangcj05 Apr 29, 2020
b44bec4
restructure base classes
wangcj05 Apr 29, 2020
26d4f5a
initial implementation of DROSKP
wangcj05 Apr 29, 2020
27c9fff
restructure single knapsack and multiple knapsack
wangcj05 Apr 30, 2020
16c8e94
move some tests to heavy
wangcj05 Apr 30, 2020
6f8d34c
move test to heavy
wangcj05 Apr 30, 2020
62fdf79
update
wangcj05 Apr 30, 2020
b9010e6
add tests for DROSKP
wangcj05 Apr 30, 2020
d5ba094
fix some errors
wangcj05 Apr 30, 2020
3507c21
add distributionally robust optimization for multiple knapsack problems
wangcj05 Apr 30, 2020
9bbfd35
remove csv checks for some tests, since the solution is not unique
wangcj05 Apr 30, 2020
cf67e05
update
wangcj05 Apr 30, 2020
7fc3d93
address comments from reviewer
wangcj05 May 1, 2020
a2e1f27
Merge branch 'wangc/dro' into 'master'
mandd May 4, 2020
220eb67
change check from csv check to output check, since the results are no…
wangcj05 May 5, 2020
c0b61b2
Switching things to fix ci.
joshua-cogliati-inl May 15, 2020
d49e188
Removing overriding PATH.
joshua-cogliati-inl May 18, 2020
9bb75ba
Adding installing CashFlow plugin needed for LOGOS.
joshua-cogliati-inl May 18, 2020
36ce185
Adding regular expression to filter out CashFlow tests.
joshua-cogliati-inl May 18, 2020
59f7667
Merge branch 'update_ci' into 'master'
wangcj05 May 19, 2020
0441560
update ci and fix sqa make files
wangcj05 May 21, 2020
db4eba7
update ci
wangcj05 May 21, 2020
83e9a6a
update paths
wangcj05 May 21, 2020
ed50077
debug
wangcj05 May 21, 2020
1605b09
update
wangcj05 May 21, 2020
baa7bfd
manual can be compiled since pdflatex is not available
wangcj05 May 21, 2020
6174371
Merge branch 'wangc/update-ci' into 'master'
mandd May 21, 2020
3c6dad3
add derivation of distributionally robust optimization
wangcj05 Jun 1, 2020
b15deea
add tests to test DRO with multiple parameters variations
wangcj05 Jun 1, 2020
fff5fdb
change regulatorymandated to mandatory
wangcj05 Jun 4, 2020
c383e7d
update manual
wangcj05 Jun 4, 2020
0a528c0
Merge branch 'wangc/dro' into 'master'
mandd Jun 4, 2020
5623cd8
Changes to get manual built
joshua-cogliati-inl May 26, 2020
8bca425
More fixes.
joshua-cogliati-inl May 26, 2020
9a4d235
Work on finding raven directory.
joshua-cogliati-inl May 26, 2020
abee5e4
Adding more directory fixes.
joshua-cogliati-inl May 26, 2020
bcf353e
Adding storing the built documents.
joshua-cogliati-inl Jun 8, 2020
68df802
Merge branch 'cogljj/update-ci' into 'master'
wangcj05 Jun 8, 2020
39e6455
update abstract scenario tree model to handle different pyomo versions
wangcj05 Jul 6, 2020
be55f3f
Merge branch 'master' into wangc/dro
wangcj05 Jul 6, 2020
cb5f90b
Merge branch 'wangc/dro' into 'master'
mandd Jul 7, 2020
51c1d5f
initial implementation of CVaR for single knapsack problem
wangcj05 Jul 8, 2020
811c17b
update
wangcj05 Jul 8, 2020
7069498
compute cvar and expect profit for CVaR optimization
wangcj05 Jul 9, 2020
32248c9
add implementation of CVaR for MKP and MCKP problems
wangcj05 Jul 9, 2020
6ee3462
update docstrings
wangcj05 Jul 9, 2020
6452c5e
add test cases
wangcj05 Jul 9, 2020
933978a
fix error for CVaRMKP
wangcj05 Jul 9, 2020
247ffd4
add python model of CVaR for user case 2a
wangcj05 Jul 9, 2020
978460d
add results for cvar model
wangcj05 Jul 9, 2020
6466e5c
add gold cvs files of cvar tests
wangcj05 Jul 10, 2020
63b64e5
disable test
wangcj05 Jul 10, 2020
e559319
update output
wangcj05 Jul 13, 2020
1cdbb0a
convert dependencies to use xml format
wangcj05 Jul 23, 2020
40d68e7
Merge branch 'wangc/fix_deps' into 'master'
mandd Jul 24, 2020
b0def8e
update changes with TEAL
wangcj05 Aug 11, 2020
9ff764e
update ci to reflect TEAL
wangcj05 Aug 11, 2020
33d57c6
Merge branch 'wangc/update_TEAL' into 'master'
mandd Aug 12, 2020
5585def
update cashflow calculation due to changes in TEAL
wangcj05 Oct 19, 2020
fa446d1
Merge branch 'wangc/update' into 'master'
mandd Oct 20, 2020
6606ca6
update readme file and add copyright notice
wangcj05 Oct 27, 2020
e1934d3
add copyright for python modules
wangcj05 Nov 9, 2020
068a798
Merge branch 'wangc/copyright' into 'master'
mandd Nov 11, 2020
d1368c2
Merge branch 'master' into wangc/cvar
wangcj05 Nov 12, 2020
81f4e07
fix reviewer's comments
wangcj05 Nov 12, 2020
7e56b94
update docstring for cvar script
wangcj05 Nov 12, 2020
bfe8d88
update build script
wangcj05 Nov 13, 2020
3cc437b
update installation instruction
wangcj05 Nov 13, 2020
89c709a
update DRO
wangcj05 Nov 17, 2020
c3de481
mend
wangcj05 Nov 17, 2020
3e664a8
update Settings
wangcj05 Nov 18, 2020
d2375a8
add CVaR manual
wangcj05 Nov 23, 2020
614ab04
update
wangcj05 Nov 24, 2020
687e2a6
address comments
wangcj05 Nov 24, 2020
76cd6e9
update
wangcj05 Nov 24, 2020
f325b71
update settings for CVaR
wangcj05 Nov 24, 2020
8178ee6
update settings
wangcj05 Nov 24, 2020
9ce5238
updates
wangcj05 Nov 25, 2020
56acbe6
Merge branch 'wangc/open_source_work' into 'master'
mandd Nov 30, 2020
3462309
Merge branch 'wangc/cvar' into 'master'
mandd Nov 30, 2020
fa0d3ac
add documents for NQA
wangcj05 Dec 1, 2020
9b773c1
Merge branch 'master' into wangc/sqa
wangcj05 Dec 1, 2020
ca304bf
address reviewer's comments
wangcj05 Dec 1, 2020
01c395a
update SDD doc
wangcj05 Dec 1, 2020
e8b2e08
fix compiling issue
wangcj05 Dec 1, 2020
7d80290
update
wangcj05 Dec 1, 2020
9a512a2
update
wangcj05 Dec 2, 2020
ea68a62
update
wangcj05 Dec 2, 2020
fcd543c
update
wangcj05 Dec 2, 2020
a1d39b1
update
wangcj05 Dec 2, 2020
8876fec
update
wangcj05 Dec 2, 2020
2bac57c
update
wangcj05 Dec 2, 2020
e134007
finalize software requirements specification
wangcj05 Dec 3, 2020
ffcb7cd
update requirements tracebility matrix
wangcj05 Dec 3, 2020
f487c0f
update requirement tests
wangcj05 Dec 4, 2020
b197671
manual edits
mandd Dec 4, 2020
749f6c2
Merge remote-tracking branch 'origin/master' into mandd/review
mandd Dec 4, 2020
040c6cd
Merge branch 'wangc/cvar_manual' into 'master'
mandd Dec 4, 2020
b06456f
edits
mandd Dec 4, 2020
1734fa9
final edits
mandd Dec 4, 2020
46c849e
addresss comments
wangcj05 Dec 4, 2020
59a95c3
Merge branch 'wangc/sqa' into 'master'
mandd Dec 4, 2020
8810271
edits for TEAL
mandd Dec 4, 2020
c8cd44f
edits
mandd Dec 4, 2020
25926a9
Merge branch 'mandd/review' into 'master'
wangcj05 Dec 7, 2020
cd52262
update user manual
wangcj05 Dec 14, 2020
3a473a5
Merge branch 'wangc/update_manual' into 'master'
mandd Dec 14, 2020
33d3714
add STI number
wangcj05 Dec 14, 2020
6a6109c
Merge branch 'wangc/update_manual' into 'master'
mandd Dec 14, 2020
40187de
clean up
wangcj05 Jan 12, 2021
f5148e4
Merge branch 'master' of github.com:idaholab/LOGOS into wangc/logos_g…
wangcj05 Jan 12, 2021
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
29 changes: 29 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
*.libs
*.dylib
*.la
*.lo
*.d
*.o
*.a
*.e
*.csv
*.so
*.aux
*.bbl
*.blg
*.log
*.out
*.toc
*.png

#osx
.DS_Store

# python
*.pyc
*.pyo

# vim
*~
*.swp

52 changes: 52 additions & 0 deletions .gitlab-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
before_script:
# Print out python version for debugging
- python -V
# clone raven
- git clone https://github.com/idaholab/raven.git
- cd raven
# we technically still need moose for running the tests, currently
- git checkout master
- git clean -xfd
# check that we have conda
- if which conda 2> /dev/null; then
echo "Conda found!";
conda update conda;
else
echo "ERROR Conda not found!";
exit 404;
fi
# install plugins before establish conda so plugin libraries get installed
- git submodule update --init plugins/TEAL/
- cd scripts
- python install_plugins.py -s `pwd`/../../
- python install_plugins.py -s `pwd`/../plugins/TEAL/
- cd ..
# create libraries or create them
- ./scripts/establish_conda_env.sh --install --conda-defs $HOME/miniconda2/etc/profile.d/conda.sh
- ./build_raven
# return to project path main dir
- cd ..


user_manual:
script:
- cd doc/user_manual/
- make
- cd ../../
artifacts:
paths:
- doc/user_manual/user_manual.pdf

sqa:
script:
- cd doc/sqa/
- ./make_docs.sh
- cd ../../
artifacts:
paths:
- doc/sqa/sqa_built_documents/

test:
script:
- cd raven
- ./run_tests -j4 --plugins --re=LOGOS/tests
25 changes: 25 additions & 0 deletions .gitlab/issue_templates/ISSUE_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
--------
Issue Description
--------
##### Please describe your issue here.




----------------
For Change Control Board: Issue Review
----------------
This review should occur before any development is performed as a response to this issue.
- [ ] 1. Is it tagged with a type: defect or task?
- [ ] 2. Is it tagged with a priority: critical, normal or minor?
- [ ] 3. If it is a defect, can it cause wrong results for users? If so a detailed description should be provided.
- [ ] 4. Is a rationale provided? (Such as explaining why the task is needed or why current code is wrong.)

-------
For Change Control Board: Issue Closure
-------
This review should occur when the issue is imminently going to be closed.
- [ ] 1. If the issue is a defect, is the defect fixed?
- [ ] 2. If the issue is a defect, is the defect tested for in the regression test system? (If not explain why not.)
- [ ] 3. If the issue can impact users, has the detailed description been written?
- [ ] 4. If the issue is being closed without a merge request, has an explanation of why it is being closed been provided?
19 changes: 19 additions & 0 deletions .gitlab/merge_request_templates/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
--------
Pull Request Description
--------
##### What issue does this change request address? (Use "#" before the issue to link it, i.e., #42.)


##### What are the significant changes in functionality due to this change request?


----------------
For Change Control Board: Change Request Review
----------------
The following review must be completed by an authorized member of the Change Control Board.
- [ ] 1. Review all computer code.
- [ ] 2. If any changes occur to the input syntax, there must be an accompanying change to the user manual.
- [ ] 3. Make sure the Python code and commenting standards are respected (camelBack, etc.) - See on the [wiki](https://github.com/idaholab/raven/wiki/RAVEN-Code-Standards#python) for details.
- [ ] 4. Regression tests have to complete successfully.
- [ ] 5. If significant functionality is added, there must be tests added to check this. Tests should cover all possible options. Multiple short tests are preferred over one large test.
- [ ] 6. The merge request must reference an issue. If the issue is closed, the issue close checklist shall be done.
37 changes: 37 additions & 0 deletions NOTICE.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
This project contains code from Idaho National Laboratory's LOGOS Project
Github URL : idaholab/LOGOS

Licensed under Apache License.


© 2020 Battelle Energy Alliance, LLC
ALL RIGHTS RESERVED

Prepared by Battelle Energy Alliance, LLC
Under Contract No. DE-AC07-05ID14517
With the U. S. Department of Energy

NOTICE: This computer software was prepared by Battelle Energy
Alliance, LLC, hereinafter the Contractor, under Contract
No. AC07-05ID14517 with the United States (U. S.) Department of
Energy (DOE). The Government is granted for itself and others acting on
its behalf a nonexclusive, paid-up, irrevocable worldwide license in this
data to reproduce, prepare derivative works, and perform publicly and
display publicly, by or on behalf of the Government. There is provision for
the possible extension of the term of this license. Subsequent to that
period or any extension granted, the Government is granted for itself and
others acting on its behalf a nonexclusive, paid-up, irrevocable worldwide
license in this data to reproduce, prepare derivative works, distribute
copies to the public, perform publicly and display publicly, and to permit
others to do so. The specific term of the license can be identified by
inquiry made to Contractor or DOE. NEITHER THE UNITED STATES NOR THE UNITED
STATES DEPARTMENT OF ENERGY, NOR CONTRACTOR MAKES ANY WARRANTY, EXPRESS OR
IMPLIED, OR ASSUMES ANY LIABILITY OR RESPONSIBILITY FOR THE USE, ACCURACY,
COMPLETENESS, OR USEFULNESS OR ANY INFORMATION, APPARATUS, PRODUCT, OR
PROCESS DISCLOSED, OR REPRESENTS THAT ITS USE WOULD NOT INFRINGE PRIVATELY
OWNED RIGHTS.

Authors:
Diego Mandelli
Congjian Wang

60 changes: 60 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
# Logos: Operation Optimization Toolkit

LOGOS is a software package which contains a set of discrete optimization models
that can be employed for capital budgeting optimization problems. More specifically,
provided a set of items (characterized by cost and reward values) and constraints,
these models select the best combination of items which maximizes overall reward
and satisfies the provided constraints. The developed models are based on different
versions of the knapsack optimization algorithms. Two main classes of optimization
models have been initially developed: deterministic and stochastic. Stochastic
optimization models evolve deterministic models by explicitly considering data
uncertainties (associated to constraints or item cost and reward). These models
can be employed as stand-alone models or interfaced with the INL developed RAVEN
code to propagate data uncertainties and analyze the generated data
(i.e., sensitivity analysis).

## Optimization for Capital Investments

### Problems that can be solved by this package:
- Deterministic Capital Budgeting
- Risk-informed stochastic Capital Budgeting
- Multiple Knapsack problem optimization
- Multi-dimensional Knapsack problem optimization
- Multi-choice Knapsack problem optimization
- Multi-choice multi-dimensional Knapsack problem optimization
- SSC cashflow and NPV models

## Installation:
path/to/LOGOS/build.sh --install

## How to run:
- source activate LOGOS_libraries
- path/to/LOGOS/.logos -i inputfile.xml -o outputfile.csv

## Tests
python run_tests.py

## Docs
path/to/LOGOS/doc

### Other Software
Idaho National Laboratory is a cutting edge research facility which is a constantly producing high quality research and software. Feel free to take a look at our other software and scientific offerings at:

[Primary Technology Offerings Page](https://www.inl.gov/inl-initiatives/technology-deployment)

[Supported Open Source Software](https://github.com/idaholab)

[Raw Experiment Open Source Software](https://github.com/IdahoLabResearch)

[Unsupported Open Source Software](https://github.com/IdahoLabCuttingBoard)


### Licensing
-----
This software is licensed under the terms you may find in the file named "LICENSE" in this directory.

### Developers
-----
By contributing to this software project, you are agreeing to the following terms and conditions for your contributions:

You agree your contributions are submitted under the Apache license. You represent you are authorized to make the contributions and grant the license. If your employer has rights to intellectual property that includes your contributions, you represent that you have received permission to make contributions and grant the required license on behalf of that employer.
10 changes: 10 additions & 0 deletions __init__.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
# Copyright 2020, Battelle Energy Alliance, LLC
# ALL RIGHTS RESERVED
"""
Created on Nov. 18, 2019
@author: wangc, mandd
"""

from LOGOS.src import CapitalInvestmentModel
from LOGOS.src import BatteryReplacementCashFlowModel
from LOGOS.src import IncrementalNPV
Loading