Skip to content
This repository has been archived by the owner on Sep 4, 2024. It is now read-only.

Commit

Permalink
Merge pull request #11 from jsiirola/rename-main
Browse files Browse the repository at this point in the history
Renaming main development branch (master -> main)
  • Loading branch information
DLWoodruff authored May 20, 2021
2 parents c080153 + 1deea04 commit c7fb258
Show file tree
Hide file tree
Showing 17 changed files with 184 additions and 187 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ name: GitHub Branch CI
on:
push:
branches-ignore:
- master
- main
workflow_dispatch:
inputs:
git-ref:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,10 @@ name: GitHub CI
on:
push:
branches:
- master
- main
pull_request:
branches:
- master
- main
workflow_dispatch:
inputs:
git-ref:
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[![Github Actions Status](https://github.com/Pyomo/pysp/workflows/GitHub%20CI/badge.svg?event=push)](https://github.com/Pyomo/pysp/actions?query=event%3Apush+workflow%3A%22GitHub+CI%22)
[![Jenkins Status](https://img.shields.io/jenkins/s/https/software.sandia.gov/downloads/pub/pyomo/jenkins/PySP_trunk.svg?logo=jenkins&logoColor=white)](https://jenkins-srn.sandia.gov/job/Pyomo_pysp_trunk)
[![codecov](https://codecov.io/gh/Pyomo/pysp/branch/master/graph/badge.svg)](https://codecov.io/gh/Pyomo/pysp)
[![codecov](https://codecov.io/gh/Pyomo/pysp/branch/main/graph/badge.svg)](https://codecov.io/gh/Pyomo/pysp)

[![GitHub contributors](https://img.shields.io/github/contributors/pyomo/pysp.svg)](https://github.com/pyomo/pysp/graphs/contributors)
[![Merged PRs](https://img.shields.io/github/issues-pr-closed-raw/pyomo/pysp.svg?label=merged+PRs)](https://github.com/pyomo/pysp/pulls?q=is:pr+is:merged)
Expand Down
6 changes: 3 additions & 3 deletions examples/networkx_scenariotree/ReferenceModel.py
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ def pysp_instance_creation_callback(scenario_name, node_names):
model.SecondStageCost.expr = (model.xu0 - 1)**2

model.y0 = aml.Var()
model.c.add(expr= -10 <= model.y0 <= 10)
model.c.add(expr= aml.inequality(-10, model.y0, 10))
if scenario_name == "u00":
model.yu00 = aml.Var()
model.c.add(model.yu00 == model.y0)
Expand All @@ -50,7 +50,7 @@ def pysp_instance_creation_callback(scenario_name, node_names):
model.SecondStageCost.expr = (model.xu1 + 1)**2

model.y1 = aml.Var()
model.c.add(expr= -10 <= model.y1 <= 10)
model.c.add(expr= aml.inequality(-10, model.y1, 10))
if scenario_name == "u10":
model.yu10 = aml.Var()
model.c.add(model.yu10 == model.y1)
Expand All @@ -68,7 +68,7 @@ def pysp_instance_creation_callback(scenario_name, node_names):
model.SecondStageCost.expr = (model.xu2 - 0.5)**2

model.y2 = aml.Var()
model.c.add(expr= -10 <= model.y2 <= 10)
model.c.add(expr= aml.inequality(-10, model.y2, 10))
if scenario_name == "u20":
model.yu20 = aml.Var()
model.c.add(model.yu20 == model.y2)
Expand Down
3 changes: 2 additions & 1 deletion pysp/scenariotree/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,8 @@
ComponentUID)
from pyomo.core.base.sos import _SOSConstraintData
from pyomo.repn import generate_standard_repn
from pyomo.scripting.interface import IPyomoScriptModifyInstance

from pysp.phutils import (BasicSymbolMap,
indexToString,
isVariableNameIndexed,
Expand All @@ -32,7 +34,6 @@
ScenarioTreeBundle,
ScenarioTree)
from pysp.scenariotree.instance_factory import (DataPortal, Block,
IPyomoScriptModifyInstance,
AbstractModel, _BlockData,
ExtensionPoint,
load_external_module,
Expand Down
2 changes: 1 addition & 1 deletion pysp/scenariotree/instance_factory.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,12 @@

from pyomo.dataportal import DataPortal
from pyomo.core import (Block,
IPyomoScriptModifyInstance,
AbstractModel)
from pyomo.core.base.block import _BlockData
from pyomo.common.dependencies import yaml, yaml_available, yaml_load_args
from pyomo.common.gc_manager import PauseGC
from pyomo.common.plugin import ExtensionPoint
from pyomo.scripting.interface import IPyomoScriptModifyInstance
from pysp.util.misc import load_external_module
from pysp.scenariotree.tree_structure_model import \
(CreateAbstractScenarioTreeModel,
Expand Down
2 changes: 1 addition & 1 deletion pysp/tests/convert/test_ddsip.py
Original file line number Diff line number Diff line change
Expand Up @@ -145,7 +145,7 @@ def test_bad_component_type(self):
b"TypeError: Declarations "
b"in annotation type StochasticConstraintBodyAnnotation "
b"must be of types Constraint or Block. Invalid type: "
b"<class 'pyomo.core.base.objective.SimpleObjective'>")
b"<class 'pyomo.core.base.objective.ScalarObjective'>")
shutil.rmtree(output_dir,
ignore_errors=True)
os.remove(outfile)
Expand Down
2 changes: 1 addition & 1 deletion pysp/tests/convert/test_smps.py
Original file line number Diff line number Diff line change
Expand Up @@ -177,7 +177,7 @@ def test_bad_component_type(self):
b"TypeError: Declarations "
b"in annotation type StochasticConstraintBodyAnnotation "
b"must be of types Constraint or Block. Invalid type: "
b"<class 'pyomo.core.base.objective.SimpleObjective'>")
b"<class 'pyomo.core.base.objective.ScalarObjective'>")
shutil.rmtree(output_dir,
ignore_errors=True)
os.remove(outfile)
Expand Down
24 changes: 12 additions & 12 deletions pysp/tests/unit/baselines/farmer_ef.baseline.lp
Original file line number Diff line number Diff line change
Expand Up @@ -37,47 +37,47 @@ s.t.

c_e_MASTER_BLEND_CONSTRAINT_RootNode(1)_:
-1 BelowAverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(2)_:
-1 AverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(3)_:
-1 AboveAverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(4)_:
-1 BelowAverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(5)_:
-1 AverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(6)_:
-1 AboveAverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(7)_:
-1 BelowAverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(8)_:
-1 AverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(9)_:
-1 AboveAverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_u_BelowAverageScenario_ConstrainTotalAcreage_:
Expand Down Expand Up @@ -291,9 +291,9 @@ c_e_ONE_VAR_CONSTANT:
ONE_VAR_CONSTANT = 1.0

bounds
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_) <= +inf
0 <= BelowAverageScenario_DevotedAcreage(CORN) <= 500
0 <= BelowAverageScenario_DevotedAcreage(SUGAR_BEETS) <= 500
0 <= BelowAverageScenario_DevotedAcreage(WHEAT) <= 500
Expand Down
24 changes: 12 additions & 12 deletions pysp/tests/unit/baselines/farmer_ef_cvar.baseline.lp
Original file line number Diff line number Diff line change
Expand Up @@ -57,47 +57,47 @@ c_l_COMPUTE_SCENARIO_EXCESS(3)_:

c_e_MASTER_BLEND_CONSTRAINT_RootNode(1)_:
-1 BelowAverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(2)_:
-1 AverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(3)_:
-1 AboveAverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(4)_:
-1 BelowAverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(5)_:
-1 AverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(6)_:
-1 AboveAverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(7)_:
-1 BelowAverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(8)_:
-1 AverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(9)_:
-1 AboveAverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_u_BelowAverageScenario_ConstrainTotalAcreage_:
Expand Down Expand Up @@ -315,9 +315,9 @@ bounds
0 <= CVAR_EXCESS_BelowAverageScenario <= +inf
0 <= CVAR_EXCESS_AverageScenario <= +inf
0 <= CVAR_EXCESS_AboveAverageScenario <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_) <= +inf
0 <= BelowAverageScenario_DevotedAcreage(CORN) <= 500
0 <= BelowAverageScenario_DevotedAcreage(SUGAR_BEETS) <= 500
0 <= BelowAverageScenario_DevotedAcreage(WHEAT) <= 500
Expand Down
24 changes: 12 additions & 12 deletions pysp/tests/unit/baselines/farmer_maximize_ef.baseline.lp
Original file line number Diff line number Diff line change
Expand Up @@ -13,47 +13,47 @@ s.t.

c_e_MASTER_BLEND_CONSTRAINT_RootNode(1)_:
-1 BelowAverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(2)_:
-1 AverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(3)_:
-1 AboveAverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(4)_:
-1 BelowAverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(5)_:
-1 AverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(6)_:
-1 AboveAverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(7)_:
-1 BelowAverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(8)_:
-1 AverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(9)_:
-1 AboveAverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_u_BelowAverageScenario_ConstrainTotalAcreage_:
Expand Down Expand Up @@ -321,9 +321,9 @@ c_e_ONE_VAR_CONSTANT:
ONE_VAR_CONSTANT = 1.0

bounds
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_) <= +inf
0 <= BelowAverageScenario_DevotedAcreage(CORN) <= 500
0 <= BelowAverageScenario_DevotedAcreage(SUGAR_BEETS) <= 500
0 <= BelowAverageScenario_DevotedAcreage(WHEAT) <= 500
Expand Down
24 changes: 12 additions & 12 deletions pysp/tests/unit/baselines/farmer_piecewise_ef.baseline.lp
Original file line number Diff line number Diff line change
Expand Up @@ -13,47 +13,47 @@ s.t.

c_e_MASTER_BLEND_CONSTRAINT_RootNode(1)_:
-1 BelowAverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(2)_:
-1 AverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(3)_:
-1 AboveAverageScenario_DevotedAcreage(CORN)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(4)_:
-1 BelowAverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(5)_:
-1 AverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(6)_:
-1 AboveAverageScenario_DevotedAcreage(SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(7)_:
-1 BelowAverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(8)_:
-1 AverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_e_MASTER_BLEND_CONSTRAINT_RootNode(9)_:
-1 AboveAverageScenario_DevotedAcreage(WHEAT)
+1 MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT)
+1 MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_)
= 0

c_u_BelowAverageScenario_ConstrainTotalAcreage_:
Expand Down Expand Up @@ -390,9 +390,9 @@ c_e_ONE_VAR_CONSTANT:
ONE_VAR_CONSTANT = 1.0

bounds
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__CORN) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__SUGAR_BEETS) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(DevotedAcreage__WHEAT) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__CORN_) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__SUGAR_BEETS_) <= +inf
-inf <= MASTER_BLEND_VAR_RootNode(_DevotedAcreage__WHEAT_) <= +inf
0 <= BelowAverageScenario_DevotedAcreage(CORN) <= 500
0 <= BelowAverageScenario_DevotedAcreage(SUGAR_BEETS) <= 500
0 <= BelowAverageScenario_DevotedAcreage(WHEAT) <= 500
Expand Down
Loading

0 comments on commit c7fb258

Please sign in to comment.