Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/class-wp-block-list.php on line 199

Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::hasChildren($allow_links = true) should either be compatible with RecursiveDirectoryIterator::hasChildren(bool $allowLinks = false): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-content/plugins/all-in-one-wp-migration/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 61

Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::rewind() should either be compatible with FilesystemIterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-content/plugins/all-in-one-wp-migration/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 39

Deprecated: Return type of Ai1wm_Recursive_Directory_Iterator::next() should either be compatible with DirectoryIterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-content/plugins/all-in-one-wp-migration/lib/vendor/servmask/iterator/class-ai1wm-recursive-directory-iterator.php on line 46

Deprecated: Return type of Ai1wm_Recursive_Extension_Filter::getChildren() should either be compatible with RecursiveFilterIterator::getChildren(): ?RecursiveFilterIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-content/plugins/all-in-one-wp-migration/lib/vendor/servmask/filter/class-ai1wm-recursive-extension-filter.php on line 51

Deprecated: Return type of Ai1wm_Recursive_Extension_Filter::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-content/plugins/all-in-one-wp-migration/lib/vendor/servmask/filter/class-ai1wm-recursive-extension-filter.php on line 41

Deprecated: Return type of Ai1wm_Recursive_Exclude_Filter::getChildren() should either be compatible with RecursiveFilterIterator::getChildren(): ?RecursiveFilterIterator, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-content/plugins/all-in-one-wp-migration/lib/vendor/servmask/filter/class-ai1wm-recursive-exclude-filter.php on line 67

Deprecated: Return type of Ai1wm_Recursive_Exclude_Filter::accept() should either be compatible with FilterIterator::accept(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-content/plugins/all-in-one-wp-migration/lib/vendor/servmask/filter/class-ai1wm-recursive-exclude-filter.php on line 43

Deprecated: version_compare(): Passing null to parameter #2 ($version2) of type string is deprecated in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-content/plugins/elementor/core/upgrade/manager.php on line 62
Software Tools and Optimization – Energy Portal
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u189388336/domains/solarsolutions.ph/public_html/portal/wp-includes/wp-db.php on line 3030

Software Tools and Optimization

The methodologies above require a level of expertise in algorithms and programming to be able to directly apply to a rural electrification project. Because of this, there are software tools that take care of applying the algorithms out of the user input parameters.

These tools can be characterized according to the optimization technique, energy mix portfolio, grid consideration, geographic coverage, output variable/s to optimize, output performance metrics, model complexity, availability and necessary software, and options to handle risk or different scenarios.

The table below lists different software tools and the optimization algorithm they employ. Calliope and Distributed Energy Resource-Customer Adoption Model (DER-CAM) employ mixed integer linear programming that is solved using either open or commercial solvers. Open and free solvers include CBC and GPLK while commercial solvers are Gurobi and CPLEX. Hybrid Optimization of Multiple Energy Resources (HOMER) uses a proprietary derivative-free algorithm to arrive at the optimal energy mix. HOMER is generally classified as a simulation-based model instead of the strictly mathematical programming optimization technique[1] . Moreover, as the name suggests, improved Hybrid Optimization by Genetic Algorithm (iHOGA) applies Genetic Algorithm in sizing energy resources. The Reference Electrification Model (REM) applies a Pattern search-based method with a master-slave decomposition where discrete variables such as generator size are at the master level and continuous  variables such as solar and battery sizes are at the slave level.

Software ToolOptimization technique
CalliopeMixed Integer Linear Programming – Open and commercial solvers
DER-CAMMixed Integer Linear Programming – Open and commercial solvers
HOMERSimulation, proprietary derivative-free
iHOGAGenetic algorithm
REMPattern search – based
List of tools and respective optimization techniques

[1] Cardoso, Gonçalo, et al. "The impact of ancillary services in optimal DER investment decisions." Energy 130 (2017): 99-112.