zhanghaijun 2 lat temu
rodzic
commit
39d952ea66

+ 58 - 20
scripts/File/NewProject/para.ini

@@ -1,38 +1,49 @@
 [parameter]
-batch_sizes=2
+batch_sizes=50
 learning_rate0=6e-4
 learning_rate1=6e-3
-iteration_times=5
+iteration_times=20
 discount_factor=0.8
-d_k=100
+d_k=20
 forward_step=5
 range_p=30
 range_g=2
 range_k=50
 d_line=20
-range_c=300
-range_v=5000
-range_e=0
+range_c=500
+range_v=10000
+range_e=100
 
 [cost]
 beam0=70000
 beam1=80000
 bridge_pier=300000
 tunnel0=72800
-tunnel1=11800
+tunnel1=118000
 tunnel2=132000
 tunnel_entrance=390000
 railway_tracks=9300
 road_right_fee=75
 filling_cost=36
 excavation_cost=36
-arable_land_occupation=95.1
-house_demolition=10
+arable_land_occupation=95
+house_demolition=4000
 farmland_layer_name=sensitive_area
 demolition_layer_name=sensitive_area
 replace_railway_by_bridge=0
 
-[standard]
+[ecology]
+water=60
+voice=30
+culture=100
+animal=80
+prewater=50
+traffic=50
+tree=80
+air=60
+house=80
+
+[standard0]
 design_speed=250
 minimum_curve_radius=3500
 minimum_circular_length=200
@@ -48,14 +59,41 @@ minimum_clip_line_length=200
 minimum_radius_of_convex_vertical_curve=20000
 minimum_radius_of_concave_vertical_curve=20000
 minimum_length_of_vertical_curve=25
+horizontal_containing_vertical=0
 
-[ecology]
-water_pollution=5
-noise_and_vibration=10
-cultural_heritage_protection=25
-destruction_wildlife=20
-original_natural=60
-traffic_network=90
-fields_woods=20
-air_pollution=5
-house_demolition=40
+[standard1]
+design_speed=300
+minimum_curve_radius=5000
+minimum_circular_length=240
+minimal_longitudinal_length=900
+maximum_gradient=20
+maximum_slope_difference=20
+maximum_bridge_height=100
+maximum_tunnel_length=12000
+filling_height_lbb=10
+digging_deep_ltb=15
+minimum_transition_curve_length=180
+minimum_clip_line_length=240
+minimum_radius_of_convex_vertical_curve=25000
+minimum_radius_of_concave_vertical_curve=25000
+minimum_length_of_vertical_curve=25
+horizontal_containing_vertical=0
+
+[standard]
+design_speed=350
+minimum_curve_radius=7000
+minimum_circular_length=200
+minimal_longitudinal_length=900
+maximum_gradient=30
+maximum_slope_difference=30
+minimum_radius_of_convex_vertical_curve=20000
+minimum_radius_of_concave_vertical_curve=20000
+minimum_transition_curve_length=200
+minimum_clip_line_length=200
+minimum_length_of_vertical_curve=25
+horizontal_containing_vertical=1
+
+[weigth]
+hCostSlider=50
+hEcologySlider=50
+vCostSlider=100

+ 58 - 20
scripts/File/OpenProject/para.ini

@@ -1,38 +1,49 @@
 [parameter]
-batch_sizes=2
+batch_sizes=50
 learning_rate0=6e-4
 learning_rate1=6e-3
-iteration_times=5
+iteration_times=20
 discount_factor=0.8
-d_k=100
+d_k=20
 forward_step=5
 range_p=30
 range_g=2
 range_k=50
 d_line=20
-range_c=300
-range_v=5000
-range_e=0
+range_c=500
+range_v=10000
+range_e=100
 
 [cost]
 beam0=70000
 beam1=80000
 bridge_pier=300000
 tunnel0=72800
-tunnel1=11800
+tunnel1=118000
 tunnel2=132000
 tunnel_entrance=390000
 railway_tracks=9300
 road_right_fee=75
 filling_cost=36
 excavation_cost=36
-arable_land_occupation=95.1
-house_demolition=10
+arable_land_occupation=95
+house_demolition=4000
 farmland_layer_name=sensitive_area
 demolition_layer_name=sensitive_area
 replace_railway_by_bridge=0
 
-[standard]
+[ecology]
+water=60
+voice=30
+culture=100
+animal=80
+prewater=50
+traffic=50
+tree=80
+air=60
+house=80
+
+[standard0]
 design_speed=250
 minimum_curve_radius=3500
 minimum_circular_length=200
@@ -48,14 +59,41 @@ minimum_clip_line_length=200
 minimum_radius_of_convex_vertical_curve=20000
 minimum_radius_of_concave_vertical_curve=20000
 minimum_length_of_vertical_curve=25
+horizontal_containing_vertical=0
 
-[ecology]
-water_pollution=5
-noise_and_vibration=10
-cultural_heritage_protection=25
-destruction_wildlife=20
-original_natural=60
-traffic_network=90
-fields_woods=20
-air_pollution=5
-house_demolition=40
+[standard1]
+design_speed=300
+minimum_curve_radius=5000
+minimum_circular_length=240
+minimal_longitudinal_length=900
+maximum_gradient=20
+maximum_slope_difference=20
+maximum_bridge_height=100
+maximum_tunnel_length=12000
+filling_height_lbb=10
+digging_deep_ltb=15
+minimum_transition_curve_length=180
+minimum_clip_line_length=240
+minimum_radius_of_convex_vertical_curve=25000
+minimum_radius_of_concave_vertical_curve=25000
+minimum_length_of_vertical_curve=25
+horizontal_containing_vertical=0
+
+[standard]
+design_speed=350
+minimum_curve_radius=7000
+minimum_circular_length=200
+minimal_longitudinal_length=900
+maximum_gradient=30
+maximum_slope_difference=30
+minimum_radius_of_convex_vertical_curve=20000
+minimum_radius_of_concave_vertical_curve=20000
+minimum_transition_curve_length=200
+minimum_clip_line_length=200
+minimum_length_of_vertical_curve=25
+horizontal_containing_vertical=1
+
+[weigth]
+hCostSlider=50
+hEcologySlider=50
+vCostSlider=100

+ 255 - 219
scripts/Optimize/SetArguments/SetArguments.js

@@ -228,48 +228,51 @@ SetArguments.prototype.saveClicked = function () {
   this.iniFile.setValue("/parameter/range_v", this.dialog.findChild("range_v").text);
   this.iniFile.setValue("/parameter/range_e", this.dialog.findChild("range_e").text);
 
-  this.iniFile.setValue("/cost/beam0", this.dialog.findChild("beam0").text);
-  this.iniFile.setValue("/cost/beam1", this.dialog.findChild("beam1").text);
-  this.iniFile.setValue("/cost/bridge_pier", this.dialog.findChild("bridge_pier").text);
-  this.iniFile.setValue("/cost/tunnel0", this.dialog.findChild("tunnel0").text);
-  this.iniFile.setValue("/cost/tunnel1", this.dialog.findChild("tunnel1").text);
-  this.iniFile.setValue("/cost/tunnel2", this.dialog.findChild("tunnel2").text);
-  this.iniFile.setValue("/cost/tunnel_entrance", this.dialog.findChild("tunnel_entrance").text);
-  this.iniFile.setValue("/cost/railway_tracks", this.dialog.findChild("railway_tracks").text);
-  this.iniFile.setValue("/cost/road_right_fee", this.dialog.findChild("road_right_fee").text);
-  this.iniFile.setValue("/cost/filling_cost", this.dialog.findChild("filling_cost").text);
-  this.iniFile.setValue("/cost/excavation_cost", this.dialog.findChild("excavation_cost").text);
-  this.iniFile.setValue("/cost/arable_land_occupation", this.dialog.findChild("arable_land_occupation").text);
-  this.iniFile.setValue("/cost/house_demolition", this.dialog.findChild("house_demolition").text);
-  if (this.dialog.findChild("replace_radio").isChecked) {
-    this.iniFile.setValue("/cost/replace_railway_by_bridge", "1");
-  }
-  else {
-    this.iniFile.setValue("/cost/replace_railway_by_bridge", "0");
-  }
-
-  this.iniFile.setValue("/standard/design_speed", this.dialog.findChild("design_speed").text);
-  this.iniFile.setValue("/standard/minimum_curve_radius", this.dialog.findChild("minimum_curve_radius").text);
-  this.iniFile.setValue("/standard/minimum_circular_length", this.dialog.findChild("minimum_circular_length").text);
-  this.iniFile.setValue("/standard/minimal_longitudinal_length", this.dialog.findChild("minimal_longitudinal_length").text);
-  this.iniFile.setValue("/standard/maximum_gradient", this.dialog.findChild("maximum_gradient").text);
-  this.iniFile.setValue("/standard/maximum_slope_difference", this.dialog.findChild("maximum_slope_difference").text);
-  this.iniFile.setValue("/standard/minimum_transition_curve_length", this.dialog.findChild("minimum_transition_curve_length").text);
-  this.iniFile.setValue("/standard/minimum_clip_line_length", this.dialog.findChild("minimum_clip_line_length").text);
-  this.iniFile.setValue("/standard/minimum_radius_of_convex_vertical_curve", this.dialog.findChild("minimum_radius_of_convex_vertical_curve").text);
-  this.iniFile.setValue("/standard/minimum_radius_of_concave_vertical_curve", this.dialog.findChild("minimum_radius_of_concave_vertical_curve").text);
-  this.iniFile.setValue("/standard/minimum_length_of_vertical_curve", this.dialog.findChild("minimum_length_of_vertical_curve").text);
-
-  this.iniFile.setValue("/ecology/water_pollution", this.dialog.findChild("water_pollution").text);
-  this.iniFile.setValue("/ecology/noise_and_vibration", this.dialog.findChild("noise_and_vibration").text);
-  this.iniFile.setValue("/ecology/cultural_heritage_protection", this.dialog.findChild("cultural_heritage_protection").text);
-  this.iniFile.setValue("/ecology/destruction_wildlife", this.dialog.findChild("destruction_wildlife").text);
-  this.iniFile.setValue("/ecology/original_natural", this.dialog.findChild("original_natural").text);
-  this.iniFile.setValue("/ecology/traffic_network", this.dialog.findChild("traffic_network").text);
-  this.iniFile.setValue("/ecology/fields_woods", this.dialog.findChild("fields_woods").text);
-  this.iniFile.setValue("/ecology/air_pollution", this.dialog.findChild("air_pollution").text);
-  this.iniFile.setValue("/ecology/house_demolition", this.dialog.findChild("house_demolition_2").text);
+  // this.iniFile.setValue("/cost/beam0", this.dialog.findChild("beam0").text);
+  // this.iniFile.setValue("/cost/beam1", this.dialog.findChild("beam1").text);
+  // this.iniFile.setValue("/cost/bridge_pier", this.dialog.findChild("bridge_pier").text);
+  // this.iniFile.setValue("/cost/tunnel0", this.dialog.findChild("tunnel0").text);
+  // this.iniFile.setValue("/cost/tunnel1", this.dialog.findChild("tunnel1").text);
+  // this.iniFile.setValue("/cost/tunnel2", this.dialog.findChild("tunnel2").text);
+  // this.iniFile.setValue("/cost/tunnel_entrance", this.dialog.findChild("tunnel_entrance").text);
+  // this.iniFile.setValue("/cost/railway_tracks", this.dialog.findChild("railway_tracks").text);
+  // this.iniFile.setValue("/cost/road_right_fee", this.dialog.findChild("road_right_fee").text);
+  // this.iniFile.setValue("/cost/filling_cost", this.dialog.findChild("filling_cost").text);
+  // this.iniFile.setValue("/cost/excavation_cost", this.dialog.findChild("excavation_cost").text);
+  // this.iniFile.setValue("/cost/arable_land_occupation", this.dialog.findChild("arable_land_occupation").text);
+  // this.iniFile.setValue("/cost/house_demolition", this.dialog.findChild("house_demolition").text);
+  // if (this.dialog.findChild("replace_radio").isChecked) {
+  //   this.iniFile.setValue("/cost/replace_railway_by_bridge", "1");
+  // }
+  // else {
+  //   this.iniFile.setValue("/cost/replace_railway_by_bridge", "0");
+  // }
 
+  // this.iniFile.setValue("/standard/design_speed", this.dialog.findChild("design_speed").text);
+  // this.iniFile.setValue("/standard/minimum_curve_radius", this.dialog.findChild("minimum_curve_radius").text);
+  // this.iniFile.setValue("/standard/minimum_circular_length", this.dialog.findChild("minimum_circular_length").text);
+  // this.iniFile.setValue("/standard/minimal_longitudinal_length", this.dialog.findChild("minimal_longitudinal_length").text);
+  // this.iniFile.setValue("/standard/maximum_gradient", this.dialog.findChild("maximum_gradient").text);
+  // this.iniFile.setValue("/standard/maximum_slope_difference", this.dialog.findChild("maximum_slope_difference").text);
+  // this.iniFile.setValue("/standard/minimum_transition_curve_length", this.dialog.findChild("minimum_transition_curve_length").text);
+  // this.iniFile.setValue("/standard/minimum_clip_line_length", this.dialog.findChild("minimum_clip_line_length").text);
+  // this.iniFile.setValue("/standard/minimum_radius_of_convex_vertical_curve", this.dialog.findChild("minimum_radius_of_convex_vertical_curve").text);
+  // this.iniFile.setValue("/standard/minimum_radius_of_concave_vertical_curve", this.dialog.findChild("minimum_radius_of_concave_vertical_curve").text);
+  // this.iniFile.setValue("/standard/minimum_length_of_vertical_curve", this.dialog.findChild("minimum_length_of_vertical_curve").text);
+
+  // this.iniFile.setValue("/ecology/water_pollution", this.dialog.findChild("water_pollution").text);
+  // this.iniFile.setValue("/ecology/noise_and_vibration", this.dialog.findChild("noise_and_vibration").text);
+  // this.iniFile.setValue("/ecology/cultural_heritage_protection", this.dialog.findChild("cultural_heritage_protection").text);
+  // this.iniFile.setValue("/ecology/destruction_wildlife", this.dialog.findChild("destruction_wildlife").text);
+  // this.iniFile.setValue("/ecology/original_natural", this.dialog.findChild("original_natural").text);
+  // this.iniFile.setValue("/ecology/traffic_network", this.dialog.findChild("traffic_network").text);
+  // this.iniFile.setValue("/ecology/fields_woods", this.dialog.findChild("fields_woods").text);
+  // this.iniFile.setValue("/ecology/air_pollution", this.dialog.findChild("air_pollution").text);
+  // this.iniFile.setValue("/ecology/house_demolition", this.dialog.findChild("house_demolition_2").text);
+
+  this.iniFile.setValue("/weigth/hCostSlider",this.dialog.findChild("hCostSlider").text);
+  this.iniFile.setValue("/weigth/hEcologySlider",this.dialog.findChild("hEcologySlider").text);
+  this.iniFile.setValue("/weigth/vCostSlider",this.dialog.findChild("vCostSlider").text);
   // destr(this.iniFile);
   EAction.handleUserMessage("Save File");
 };
@@ -281,75 +284,83 @@ SetArguments.prototype.resetClicked = function () {
   this.setNormalBox(iniConf);
 };
 
-SetArguments.prototype.readNormalIniFile = function () {
+SetArguments.prototype.readNormalIniFile = function(){
   var ret = [];
 
   //#region 优化模型参数设置
-  ret["batch_sizes"] = this.iniFile.value("/parameter/batch_sizes").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["learning_rate0"] = this.iniFile.value("/parameter/learning_rate0").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["learning_rate1"] = this.iniFile.value("/parameter/learning_rate1").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["iteration_times"] = this.iniFile.value("/parameter/iteration_times").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["discount_factor"] = this.iniFile.value("/parameter/discount_factor").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["d_k"] = this.iniFile.value("/parameter/d_k").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["forward_step"] = this.iniFile.value("/parameter/forward_step").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["range_p"] = this.iniFile.value("/parameter/range_p").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["range_g"] = this.iniFile.value("/parameter/range_g").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["range_k"] = this.iniFile.value("/parameter/range_k").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["d_line"] = this.iniFile.value("/parameter/d_line").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["range_c"] = this.iniFile.value("/parameter/range_c").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["range_v"] = this.iniFile.value("/parameter/range_v").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["range_e"] = this.iniFile.value("/parameter/range_e").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
+  ret["batch_sizes"] = this.iniFile.value("/parameter/batch_sizes").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["learning_rate0"] = this.iniFile.value("/parameter/learning_rate0").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["learning_rate1"] = this.iniFile.value("/parameter/learning_rate1").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["iteration_times"] = this.iniFile.value("/parameter/iteration_times").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["discount_factor"] = this.iniFile.value("/parameter/discount_factor").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["d_k"] = this.iniFile.value("/parameter/d_k").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["forward_step"] = this.iniFile.value("/parameter/forward_step").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["range_p"] = this.iniFile.value("/parameter/range_p").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["range_g"] = this.iniFile.value("/parameter/range_g").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["range_k"] = this.iniFile.value("/parameter/range_k").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["d_line"] = this.iniFile.value("/parameter/d_line").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["range_c"] = this.iniFile.value("/parameter/range_c").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["range_v"] = this.iniFile.value("/parameter/range_v").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["range_e"] = this.iniFile.value("/parameter/range_e").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
   //#endregion
 
   //#region 铁路单位造价设置
-  ret["beam0"] = this.iniFile.value("/cost/beam0").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["beam1"] = this.iniFile.value("/cost/beam1").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["bridge_pier"] = this.iniFile.value("/cost/bridge_pier").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["tunnel0"] = this.iniFile.value("/cost/tunnel0").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["tunnel1"] = this.iniFile.value("/cost/tunnel1").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["tunnel2"] = this.iniFile.value("/cost/tunnel2").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["tunnel_entrance"] = this.iniFile.value("/cost/tunnel_entrance").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["railway_tracks"] = this.iniFile.value("/cost/railway_tracks").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["road_right_fee"] = this.iniFile.value("/cost/road_right_fee").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["filling_cost"] = this.iniFile.value("/cost/filling_cost").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["excavation_cost"] = this.iniFile.value("/cost/excavation_cost").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["arable_land_occupation"] = this.iniFile.value("/cost/arable_land_occupation").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["house_demolition"] = this.iniFile.value("/cost/house_demolition").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["replace_railway_by_bridge"] = this.iniFile.value("/cost/replace_railway_by_bridge").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
+  ret["beam0"] = this.iniFile.value("/cost/beam0").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["beam1"] = this.iniFile.value("/cost/beam1").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["bridge_pier"] = this.iniFile.value("/cost/bridge_pier").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["tunnel0"] = this.iniFile.value("/cost/tunnel0").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["tunnel1"] = this.iniFile.value("/cost/tunnel1").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["tunnel2"] = this.iniFile.value("/cost/tunnel2").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["tunnel_entrance"] = this.iniFile.value("/cost/tunnel_entrance").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["railway_tracks"] = this.iniFile.value("/cost/railway_tracks").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["road_right_fee"] = this.iniFile.value("/cost/road_right_fee").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["filling_cost"] = this.iniFile.value("/cost/filling_cost").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["excavation_cost"] = this.iniFile.value("/cost/excavation_cost").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["arable_land_occupation"] = this.iniFile.value("/cost/arable_land_occupation").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["house_demolition"] = this.iniFile.value("/cost/house_demolition").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  // ret["farmland_layer_name"] = this.iniFile.value("/cost/farmland_layer_name").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  // ret["demolition_layer_name"] = this.iniFile.value("/cost/demolition_layer_name").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["replace_railway_by_bridge"] = this.iniFile.value("/cost/replace_railway_by_bridge").replace(/(\s*)+/g,"").replace(/#(\S*)/,""); 
+  //#endregion
+
+  //#region 生态
+  ret["water"] = this.iniFile.value("/ecology/water").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["voice"] = this.iniFile.value("/ecology/voice").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["culture"] = this.iniFile.value("/ecology/culture").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["animal"] = this.iniFile.value("/ecology/animal").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["prewater"] = this.iniFile.value("/ecology/prewater").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["traffic"] = this.iniFile.value("/ecology/traffic").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["tree"] = this.iniFile.value("/ecology/tree").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["air"] = this.iniFile.value("/ecology/air").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["house"] = this.iniFile.value("/ecology/house").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  //#endregion
+
+  //#region 速度
+  ret["speed"] = this.iniFile.value("/standard/design_speed").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["minimum_curve_radius"] = this.iniFile.value("/standard/minimum_curve_radius").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["minimum_circular_length"] = this.iniFile.value("/standard/minimum_circular_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["minimal_longitudinal_length"] = this.iniFile.value("/standard/minimal_longitudinal_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["maximum_gradient"] = this.iniFile.value("/standard/maximum_gradient").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["maximum_slope_difference"] = this.iniFile.value("/standard/maximum_slope_difference").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["minimum_radius_of_convex_vertical_curve"] = this.iniFile.value("/standard/minimum_radius_of_convex_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["minimum_radius_of_concave_vertical_curve"] = this.iniFile.value("/standard/minimum_radius_of_concave_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["minimum_transition_curve_length"] = this.iniFile.value("/standard/minimum_transition_curve_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["minimum_clip_line_length"] = this.iniFile.value("/standard/minimum_clip_line_length").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["minimum_length_of_vertical_curve"] = this.iniFile.value("/standard/minimum_length_of_vertical_curve").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");   
+  //#endregion
+
+  //#region 速度
+  ret["hCostSlider"] = this.iniFile.value("/weigth/hCostSlider").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["hEcologySlider"] = this.iniFile.value("/weigth/hEcologySlider").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
+  ret["vCostSlider"] = this.iniFile.value("/weigth/vCostSlider").replace(/(\s*)+/g,"").replace(/#(\S*)/,"");
   //#endregion
-  EAction.handleUserMessage("read ini speed");
-  ret["design_speed"] = this.iniFile.value("/standard/design_speed").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["minimum_curve_radius"] = this.iniFile.value("/standard/minimum_curve_radius").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["minimum_circular_length"] = this.iniFile.value("/standard/minimum_circular_length").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["minimal_longitudinal_length"] = this.iniFile.value("/standard/minimal_longitudinal_length").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["maximum_gradient"] = this.iniFile.value("/standard/maximum_gradient").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["maximum_slope_difference"] = this.iniFile.value("/standard/maximum_slope_difference").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["maximum_bridge_height"] = this.iniFile.value("/standard/maximum_bridge_height").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["maximum_tunnel_length"] = this.iniFile.value("/standard/maximum_tunnel_length").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["filling_height_lbb"] = this.iniFile.value("/standard/filling_height_lbb").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["digging_deep_ltb"] = this.iniFile.value("/standard/digging_deep_ltb").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["minimum_transition_curve_length"] = this.iniFile.value("/standard/minimum_transition_curve_length").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["minimum_clip_line_length"] = this.iniFile.value("/standard/minimum_clip_line_length").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["minimum_radius_of_convex_vertical_curve"] = this.iniFile.value("/standard/minimum_radius_of_convex_vertical_curve").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["minimum_radius_of_concave_vertical_curve"] = this.iniFile.value("/standard/minimum_radius_of_concave_vertical_curve").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["minimum_length_of_vertical_curve"] = this.iniFile.value("/standard/minimum_length_of_vertical_curve").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-
-  ret["water_pollution"] = this.iniFile.value("/ecology/water_pollution").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["noise_and_vibration"] = this.iniFile.value("/ecology/noise_and_vibration").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["cultural_heritage_protection"] = this.iniFile.value("/ecology/cultural_heritage_protection").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["destruction_wildlife"] = this.iniFile.value("/ecology/destruction_wildlife").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["original_natural"] = this.iniFile.value("/ecology/original_natural").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["traffic_network"] = this.iniFile.value("/ecology/traffic_network").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["fields_woods"] = this.iniFile.value("/ecology/fields_woods").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["air_pollution"] = this.iniFile.value("/ecology/air_pollution").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
-  ret["house_demolition_2"] = this.iniFile.value("/ecology/house_demolition").replace(/(\s*)+/g, "").replace(/#(\S*)/, "");
 
   EAction.handleUserMessage("read ini finish");
-  return ret;
+  return ret;	
 };
 
-SetArguments.prototype.setNormalBox = function (iniConf) {
-  // 优化相关
+SetArguments.prototype.setNormalBox = function(iniConf){
+ 
   var batch_sizes = this.dialog.findChild("batch_sizes");
   var learning_rate0 = this.dialog.findChild("learning_rate0");
   var learning_rate1 = this.dialog.findChild("learning_rate1");
@@ -361,10 +372,10 @@ SetArguments.prototype.setNormalBox = function (iniConf) {
   var range_k = this.dialog.findChild("range_k");
   var range_c = this.dialog.findChild("range_c");
   var range_v = this.dialog.findChild("range_v");
-  var range_e = this.dialog.findChild("range_e");
-  var d_k = this.dialog.findChild("d_k");
-  var d_line = this.dialog.findChild("d_line");
-  var forward_step = this.dialog.findChild("forward_step");
+  var range_e = this.dialog.findChild("range_e");    
+  var d_k= this.dialog.findChild("d_k");    
+  var d_line= this.dialog.findChild("d_line");
+  var forward_step= this.dialog.findChild("forward_step");
   // slider
   var batchSlider = this.dialog.findChild("batchsizeSlider");
   var stepSlider = this.dialog.findChild("stepSlider");
@@ -373,22 +384,23 @@ SetArguments.prototype.setNormalBox = function (iniConf) {
   var rangecSlider = this.dialog.findChild("rangecSlider");
   var rangevSlider = this.dialog.findChild("rangevSlider");
   var rangeeSlider = this.dialog.findChild("rangeeSlider");
-
-  batch_sizes.textChanged.connect(function () { batchSlider.setValue(batch_sizes.text); });
-  forward_step.textChanged.connect(function () { stepSlider.setValue(forward_step.text); });
-  iteration_times.textChanged.connect(function () { iterationtimeSlider.setValue(iteration_times.text); });
-  d_k.textChanged.connect(function () { dkSlider.setValue(d_k.text); });
-  range_c.textChanged.connect(function () { rangecSlider.setValue(range_c.text); });
-  range_v.textChanged.connect(function () { rangevSlider.setValue(range_v.text); });
-  range_e.textChanged.connect(function () { rangeeSlider.setValue(range_e.text); });
-
-  batchSlider.valueChanged.connect(function () { batch_sizes.setText(batchSlider.value); });
-  stepSlider.valueChanged.connect(function () { forward_step.setText(stepSlider.value); });
-  iterationtimeSlider.valueChanged.connect(function () { iteration_times.setText(iterationtimeSlider.value); });
-  dkSlider.valueChanged.connect(function () { d_k.setText(dkSlider.value); });
-  rangecSlider.valueChanged.connect(function () { range_c.setText(rangecSlider.value); });
-  rangevSlider.valueChanged.connect(function () { range_v.setText(rangevSlider.value); });
-  rangeeSlider.valueChanged.connect(function () { range_e.setText(rangeeSlider.value); });
+  // EAction.handleUserMessage("read ui");
+
+  batch_sizes.textChanged.connect( function() {batchSlider.setValue(batch_sizes.text);} );
+  forward_step.textChanged.connect( function() {stepSlider.setValue(forward_step.text);} );
+  iteration_times.textChanged.connect( function() {iterationtimeSlider.setValue(iteration_times.text);} );
+  d_k.textChanged.connect( function() {dkSlider.setValue(d_k.text);} );
+  range_c.textChanged.connect( function() {rangecSlider.setValue(range_c.text);} );
+  range_v.textChanged.connect( function() {rangevSlider.setValue(range_v.text);} );
+  range_e.textChanged.connect( function() {rangeeSlider.setValue(range_e.text);} );
+
+  batchSlider.valueChanged.connect( function() {batch_sizes.setText(batchSlider.value);} );
+  stepSlider.valueChanged.connect( function() {forward_step.setText(stepSlider.value);} );
+  iterationtimeSlider.valueChanged.connect( function() {iteration_times.setText(iterationtimeSlider.value);} );
+  dkSlider.valueChanged.connect( function() {d_k.setText(dkSlider.value);} );
+  rangecSlider.valueChanged.connect( function() {range_c.setText(rangecSlider.value);} );
+  rangevSlider.valueChanged.connect( function() {range_v.setText(rangevSlider.value);} );
+  rangeeSlider.valueChanged.connect( function() {range_e.setText(rangeeSlider.value);} );
 
   batch_sizes.setText(iniConf["batch_sizes"]);
   learning_rate0.setText(iniConf["learning_rate0"]);
@@ -405,15 +417,26 @@ SetArguments.prototype.setNormalBox = function (iniConf) {
   d_k.setText(iniConf["d_k"]);
   d_line.setText(iniConf["d_line"]);
   forward_step.setText(iniConf["forward_step"]);
+
   range_p_x.textChanged.connect(
-    function () {
+    function(){
       range_p_y.setText(range_p_x.text);
     });
   range_p_y.textChanged.connect(
-    function () {
+    function(){
       range_p_x.setText(range_p_y.text);
     });
-  // 铁路单位造价相关
+
+  EAction.handleUserMessage("end set form");
+  // range_g_x.textChanged.connect(
+  //   function(){
+  //     range_g_y.setText(range_g_x.text);
+  //   });
+  // range_g_y.textChanged.connect(
+  //   function(){
+  //     range_g_x.setText(range_g_y.text);
+  //   });    
+  EAction.handleUserMessage("read ui");
   var beam0 = this.dialog.findChild("beam0");
   var beam1 = this.dialog.findChild("beam1");
   var bridge_pier = this.dialog.findChild("bridge_pier");
@@ -427,6 +450,8 @@ SetArguments.prototype.setNormalBox = function (iniConf) {
   var excavation_cost = this.dialog.findChild("excavation_cost");
   var arable_land_occupation = this.dialog.findChild("arable_land_occupation");
   var house_demolition = this.dialog.findChild("house_demolition");
+  // var farmland_layer_name = this.dialog.findChild("farmland_layer_name");
+  // var demolition_layer_name = this.dialog.findChild("demolition_layer_name");
   var replace_radio = this.dialog.findChild("replace_radio");
   var not_replace_radio = this.dialog.findChild("not_replace_radio");
   beam0.setText(iniConf["beam0"]);
@@ -443,126 +468,137 @@ SetArguments.prototype.setNormalBox = function (iniConf) {
   arable_land_occupation.setText(iniConf["arable_land_occupation"]);
   house_demolition.setText(iniConf["house_demolition"]);
   EAction.handleUserMessage("start set form");
-  if (0 == iniConf["replace_railway_by_bridge"].toInt()) {
-    not_replace_radio.setChecked(1);
+  // farmland_layer_name.setText(iniConf["farmland_layer_name"]);
+  // demolition_layer_name.setText(iniConf["demolition_layer_name"]);
+  if(0 == iniConf["replace_railway_by_bridge"].toInt())
+  {
+    not_replace_radio.setChecked(1);      
   }
-  else {
+  else
+  {
     replace_radio.setChecked(1);
   }
-  // 铁路设计标准相关
-  var design_speed = this.dialog.findChild("design_speed");
+
+  // 生态
+  var water = this.dialog.findChild("water");
+  var voice = this.dialog.findChild("voice");
+  var culture = this.dialog.findChild("culture");
+  var animal = this.dialog.findChild("animal");
+  var prewater = this.dialog.findChild("prewater");
+  var traffic = this.dialog.findChild("traffic");
+  var tree = this.dialog.findChild("tree");
+  var air = this.dialog.findChild("air");
+  var house = this.dialog.findChild("house");
+
+  var waterSlider = this.dialog.findChild("waterSlider");
+  var voiceSlider = this.dialog.findChild("voiceSlider");
+  var cultureSlider = this.dialog.findChild("cultureSlider");
+  var animalSlider = this.dialog.findChild("animalSlider");
+  var prewaterSlider = this.dialog.findChild("prewaterSlider");
+  var trafficSlider = this.dialog.findChild("trafficSlider");
+  var treeSlider = this.dialog.findChild("treeSlider");
+  var airSlider = this.dialog.findChild("airSlider");
+  var houseSlider = this.dialog.findChild("houseSlider");
+
+  water.textChanged.connect( function() {waterSlider.setValue(water.text);} );
+  voice.textChanged.connect( function() {voiceSlider.setValue(voice.text);} );
+  culture.textChanged.connect( function() {cultureSlider.setValue(culture.text);} );
+  animal.textChanged.connect( function() {animalSlider.setValue(animal.text);} );
+  prewater.textChanged.connect( function() {prewaterSlider.setValue(prewater.text);} );
+  traffic.textChanged.connect( function() {trafficSlider.setValue(traffic.text);} );
+  tree.textChanged.connect( function() {treeSlider.setValue(tree.text);} );
+  air.textChanged.connect( function() {airSlider.setValue(air.text);} );
+  house.textChanged.connect( function() {houseSlider.setValue(house.text);} );
+
+  waterSlider.valueChanged.connect( function() {water.setText(waterSlider.value);} );
+  voiceSlider.valueChanged.connect( function() {voice.setText(voiceSlider.value);} );
+  cultureSlider.valueChanged.connect( function() {culture.setText(cultureSlider.value);} );
+  animalSlider.valueChanged.connect( function() {animal.setText(animalSlider.value);} );
+  prewaterSlider.valueChanged.connect( function() {prewater.setText(prewaterSlider.value);} );
+  trafficSlider.valueChanged.connect( function() {traffic.setText(trafficSlider.value);} );
+  treeSlider.valueChanged.connect( function() {tree.setText(treeSlider.value);} );
+  airSlider.valueChanged.connect( function() {air.setText(airSlider.value);} );
+  houseSlider.valueChanged.connect( function() {house.setText(houseSlider.value);} );
+
+  water.setText(iniConf["water"]);
+  voice.setText(iniConf["voice"]);
+  culture.setText(iniConf["culture"]);
+  animal.setText(iniConf["animal"]);
+  prewater.setText(iniConf["prewater"]);
+  traffic.setText(iniConf["traffic"]);
+  tree.setText(iniConf["tree"]);
+  air.setText(iniConf["air"]);
+  house.setText(iniConf["house"]);
+
+  // 速度
+  var speed = this.dialog.findChild("speed");
   var minimum_curve_radius = this.dialog.findChild("minimum_curve_radius");
   var minimum_circular_length = this.dialog.findChild("minimum_circular_length");
   var minimal_longitudinal_length = this.dialog.findChild("minimal_longitudinal_length");
   var maximum_gradient = this.dialog.findChild("maximum_gradient");
   var maximum_slope_difference = this.dialog.findChild("maximum_slope_difference");
-  var minimum_transition_curve_length = this.dialog.findChild("minimum_transition_curve_length");
-  var minimum_clip_line_length = this.dialog.findChild("minimum_clip_line_length");
   var minimum_radius_of_convex_vertical_curve = this.dialog.findChild("minimum_radius_of_convex_vertical_curve");
   var minimum_radius_of_concave_vertical_curve = this.dialog.findChild("minimum_radius_of_concave_vertical_curve");
+  var minimum_transition_curve_length = this.dialog.findChild("minimum_transition_curve_length");
+  var minimum_clip_line_length = this.dialog.findChild("minimum_clip_line_length");
   var minimum_length_of_vertical_curve = this.dialog.findChild("minimum_length_of_vertical_curve");
 
-  // slider
   var speedSlider = this.dialog.findChild("speedSlider");
-  var minimum_curve_radius_slider = this.dialog.findChild("minimum_curve_radius_slider");
-  var minimum_circular_length_slider = this.dialog.findChild("minimum_circular_length_slider");
-  var minimal_longitudinal_length_slider = this.dialog.findChild("minimal_longitudinal_length_slider");
-  var maximum_gradient_slider = this.dialog.findChild("maximum_gradient_slider");
-  var maximum_slope_difference_slider = this.dialog.findChild("maximum_slope_difference_slider");
-  var minimum_radius_of_convex_vertical_curve_slider = this.dialog.findChild("minimum_radius_of_convex_vertical_curve_slider");
-  var concave_vertical_curve_slider = this.dialog.findChild("concave_vertical_curve_slider");
-  var minimum_transition_curve_length_slider = this.dialog.findChild("minimum_transition_curve_length_slider");
-  var minimum_clip_line_length_slider = this.dialog.findChild("minimum_clip_line_length_slider");
-  var minimum_length_of_vertical_curve_slider = this.dialog.findChild("minimum_length_of_vertical_curve_slider");
-
-  design_speed.textChanged.connect(function () { speedSlider.setValue(design_speed.text); });
-  minimum_curve_radius.textChanged.connect(function () { minimum_curve_radius_slider.setValue(minimum_curve_radius.text); });
-  minimum_circular_length.textChanged.connect(function () { minimum_circular_length_slider.setValue(minimum_circular_length.text); });
-  minimal_longitudinal_length.textChanged.connect(function () { minimal_longitudinal_length_slider.setValue(minimal_longitudinal_length.text); });
-  maximum_gradient.textChanged.connect(function () { maximum_gradient_slider.setValue(maximum_gradient.text); });
-  maximum_slope_difference.textChanged.connect(function () { maximum_slope_difference_slider.setValue(maximum_slope_difference.text); });
-  minimum_transition_curve_length.textChanged.connect(function () { minimum_transition_curve_length_slider.setValue(minimum_transition_curve_length.text); });
-  minimum_clip_line_length.textChanged.connect(function () { minimum_clip_line_length_slider.setValue(minimum_clip_line_length.text); });
-  minimum_radius_of_convex_vertical_curve.textChanged.connect(function () { minimum_radius_of_convex_vertical_curve_slider.setValue(minimum_radius_of_convex_vertical_curve.text); });
-  minimum_radius_of_concave_vertical_curve.textChanged.connect(function () { concave_vertical_curve_slider.setValue(minimum_radius_of_concave_vertical_curve.text); });
-  minimum_length_of_vertical_curve.textChanged.connect(function () { minimum_length_of_vertical_curve_slider.setValue(minimum_length_of_vertical_curve.text); });
-
-  speedSlider.valueChanged.connect(function () { design_speed.setText(speedSlider.value); });
-  minimum_curve_radius_slider.valueChanged.connect(function () { minimum_curve_radius.setText(minimum_curve_radius_slider.value); });
-  minimum_circular_length_slider.valueChanged.connect(function () { minimum_circular_length.setText(minimum_circular_length_slider.value); });
-  minimal_longitudinal_length_slider.valueChanged.connect(function () { minimal_longitudinal_length.setText(minimal_longitudinal_length_slider.value); });
-  maximum_gradient_slider.valueChanged.connect(function () { maximum_gradient.setText(maximum_gradient_slider.value); });
-  maximum_slope_difference_slider.valueChanged.connect(function () { maximum_slope_difference.setText(maximum_slope_difference_slider.value); });
-  minimum_transition_curve_length_slider.valueChanged.connect(function () { minimum_transition_curve_length.setText(minimum_transition_curve_length_slider.value); });
-  minimum_clip_line_length_slider.valueChanged.connect(function () { minimum_clip_line_length.setText(minimum_clip_line_length_slider.value); });
-  minimum_radius_of_convex_vertical_curve_slider.valueChanged.connect(function () { minimum_radius_of_convex_vertical_curve.setText(minimum_radius_of_convex_vertical_curve_slider.value); });
-  concave_vertical_curve_slider.valueChanged.connect(function () { minimum_radius_of_concave_vertical_curve.setText(concave_vertical_curve_slider.value); });
-  minimum_length_of_vertical_curve_slider.valueChanged.connect(function () { minimum_length_of_vertical_curve.setText(minimum_length_of_vertical_curve_slider.value); });
-
-  design_speed.setText(iniConf["design_speed"]);
+  var radiusSlider = this.dialog.findChild("radiusSlider");
+  var lengthSlider = this.dialog.findChild("lengthSlider");
+  var minloglenSlider = this.dialog.findChild("minloglenSlider");
+  var gradientSlider = this.dialog.findChild("gradientSlider");
+  var slopdiffSlider = this.dialog.findChild("slopdiffSlider");
+  var convexSlider = this.dialog.findChild("convexSlider");
+  var concaveSlider = this.dialog.findChild("concaveSlider");
+  var transitionSlider = this.dialog.findChild("transitionSlider");
+  var clipSlider = this.dialog.findChild("clipSlider");
+  var verticalCurveSlider = this.dialog.findChild("verticalCurveSlider");
+
+  speed.textChanged.connect( function() {speedSlider.setValue(speed.text);} );
+  minimum_curve_radius.textChanged.connect( function() {radiusSlider.setValue(minimum_curve_radius.text);} );
+  minimum_circular_length.textChanged.connect( function() {lengthSlider.setValue(minimum_circular_length.text);} );
+  minimal_longitudinal_length.textChanged.connect( function() {minloglenSlider.setValue(minimal_longitudinal_length.text);} );
+  maximum_gradient.textChanged.connect( function() {gradientSlider.setValue(maximum_gradient.text);} );
+  maximum_slope_difference.textChanged.connect( function() {slopdiffSlider.setValue(maximum_slope_difference.text);} );
+  minimum_radius_of_convex_vertical_curve.textChanged.connect( function() {convexSlider.setValue(minimum_radius_of_convex_vertical_curve.text);} );
+  minimum_radius_of_concave_vertical_curve.textChanged.connect( function() {concaveSlider.setValue(minimum_radius_of_concave_vertical_curve.text);} );
+  minimum_transition_curve_length.textChanged.connect( function() {transitionSlider.setValue(minimum_transition_curve_length.text);} );
+  minimum_clip_line_length.textChanged.connect( function() {clipSlider.setValue(minimum_clip_line_length.text);} );
+  minimum_length_of_vertical_curve.textChanged.connect( function() {verticalCurveSlider.setValue(minimum_length_of_vertical_curve.text);} );
+
+  speedSlider.valueChanged.connect( function() {speed.setText(speedSlider.value);} );
+  radiusSlider.valueChanged.connect( function() {minimum_curve_radius.setText(radiusSlider.value);} );
+  lengthSlider.valueChanged.connect( function() {minimum_circular_length.setText(lengthSlider.value);} );
+  minloglenSlider.valueChanged.connect( function() {minimal_longitudinal_length.setText(minloglenSlider.value);} );
+  gradientSlider.valueChanged.connect( function() {maximum_gradient.setText(gradientSlider.value);} );
+  slopdiffSlider.valueChanged.connect( function() {maximum_slope_difference.setText(slopdiffSlider.value);} );
+  convexSlider.valueChanged.connect( function() {minimum_radius_of_convex_vertical_curve.setText(convexSlider.value);} );
+  concaveSlider.valueChanged.connect( function() {minimum_radius_of_concave_vertical_curve.setText(concaveSlider.value);} );
+  transitionSlider.valueChanged.connect( function() {minimum_transition_curve_length.setText(transitionSlider.value);} );
+  clipSlider.valueChanged.connect( function() {minimum_clip_line_length.setText(clipSlider.value);} );
+  verticalCurveSlider.valueChanged.connect( function() {minimum_length_of_vertical_curve.setText(verticalCurveSlider.value);} );
+
+  speed.setText(iniConf["speed"]);
   minimum_curve_radius.setText(iniConf["minimum_curve_radius"]);
   minimum_circular_length.setText(iniConf["minimum_circular_length"]);
   minimal_longitudinal_length.setText(iniConf["minimal_longitudinal_length"]);
   maximum_gradient.setText(iniConf["maximum_gradient"]);
   maximum_slope_difference.setText(iniConf["maximum_slope_difference"]);
-  minimum_transition_curve_length.setText(iniConf["minimum_transition_curve_length"]);
-  minimum_clip_line_length.setText(iniConf["minimum_clip_line_length"]);
   minimum_radius_of_convex_vertical_curve.setText(iniConf["minimum_radius_of_convex_vertical_curve"]);
   minimum_radius_of_concave_vertical_curve.setText(iniConf["minimum_radius_of_concave_vertical_curve"]);
+  minimum_transition_curve_length.setText(iniConf["minimum_transition_curve_length"]);
+  minimum_clip_line_length.setText(iniConf["minimum_clip_line_length"]);
   minimum_length_of_vertical_curve.setText(iniConf["minimum_length_of_vertical_curve"]);
 
-  // 生态相关
-  var water_pollution = this.dialog.findChild("water_pollution");
-  var noise_and_vibration = this.dialog.findChild("noise_and_vibration");
-  var cultural_heritage_protection = this.dialog.findChild("cultural_heritage_protection");
-  var destruction_wildlife = this.dialog.findChild("destruction_wildlife");
-  var original_natural = this.dialog.findChild("original_natural");
-  var traffic_network = this.dialog.findChild("traffic_network");
-  var fields_woods = this.dialog.findChild("fields_woods");
-  var air_pollution = this.dialog.findChild("air_pollution");
-  var house_demolition_2 = this.dialog.findChild("house_demolition_2");
-
-  // slider
-  var water_pollution_slider = this.dialog.findChild("water_pollution_slider");
-  var noise_and_vibration_slider = this.dialog.findChild("noise_and_vibration_slider");
-  var cultural_heritage_protection_slider = this.dialog.findChild("cultural_heritage_protection_slider");
-  var destruction_wildlife_slider = this.dialog.findChild("destruction_wildlife_slider");
-  var original_natural_slider = this.dialog.findChild("original_natural_slider");
-  var traffic_network_slider = this.dialog.findChild("traffic_network_slider");
-  var fields_woods_slider = this.dialog.findChild("fields_woods_slider");
-  var air_pollution_slider = this.dialog.findChild("air_pollution_slider");
-  var house_demolition_2_slider = this.dialog.findChild("house_demolition_2_slider");
-
-  water_pollution.textChanged.connect(function () { water_pollution_slider.setValue(water_pollution.text); });
-  noise_and_vibration.textChanged.connect(function () { noise_and_vibration_slider.setValue(noise_and_vibration.text); });
-  cultural_heritage_protection.textChanged.connect(function () { cultural_heritage_protection_slider.setValue(cultural_heritage_protection.text); });
-  destruction_wildlife.textChanged.connect(function () { destruction_wildlife_slider.setValue(destruction_wildlife.text); });
-  original_natural.textChanged.connect(function () { original_natural_slider.setValue(original_natural.text); });
-  traffic_network.textChanged.connect(function () { traffic_network_slider.setValue(traffic_network.text); });
-  fields_woods.textChanged.connect(function () { fields_woods_slider.setValue(fields_woods.text); });
-  air_pollution.textChanged.connect(function () { air_pollution_slider.setValue(air_pollution.text); });
-  house_demolition_2.textChanged.connect(function () { house_demolition_2_slider.setValue(house_demolition_2.text); });
-
-  water_pollution_slider.valueChanged.connect(function () { water_pollution.setText(water_pollution_slider.value); });
-  noise_and_vibration_slider.valueChanged.connect(function () { noise_and_vibration.setText(noise_and_vibration_slider.value); });
-  cultural_heritage_protection_slider.valueChanged.connect(function () { cultural_heritage_protection.setText(cultural_heritage_protection_slider.value); });
-  destruction_wildlife_slider.valueChanged.connect(function () { destruction_wildlife.setText(destruction_wildlife_slider.value); });
-  original_natural_slider.valueChanged.connect(function () { original_natural.setText(original_natural_slider.value); });
-  traffic_network_slider.valueChanged.connect(function () { traffic_network.setText(traffic_network_slider.value); });
-  fields_woods_slider.valueChanged.connect(function () { fields_woods.setText(fields_woods_slider.value); });
-  air_pollution_slider.valueChanged.connect(function () { air_pollution.setText(air_pollution_slider.value); });
-  house_demolition_2_slider.valueChanged.connect(function () { house_demolition_2.setText(house_demolition_2_slider.value); });
-
-  water_pollution.setText(iniConf["water_pollution"]);
-  noise_and_vibration.setText(iniConf["noise_and_vibration"]);
-  cultural_heritage_protection.setText(iniConf["cultural_heritage_protection"]);
-  destruction_wildlife.setText(iniConf["destruction_wildlife"]);
-  original_natural.setText(iniConf["original_natural"]);
-  traffic_network.setText(iniConf["traffic_network"]);
-  fields_woods.setText(iniConf["fields_woods"]);
-  air_pollution.setText(iniConf["air_pollution"]);
-  house_demolition_2.setText(iniConf["house_demolition_2"]);
+  // 权重
+  var hCostSlider = this.dialog.findChild("hCostSlider");
+  var hEcologySlider = this.dialog.findChild("hEcologySlider");
+  var vCostSlider = this.dialog.findChild("vCostSlider");
 
+  hCostSlider.setValue(iniConf["hCostSlider"]);
+  hEcologySlider.setValue(iniConf["hEcologySlider"]);
+  vCostSlider.setValue(iniConf["vCostSlider"]);
 };
 
 

+ 74 - 71
scripts/Optimize/SetArguments/SetArgumentsDialog.ui

@@ -60,7 +60,7 @@ border:1px solid #aaa;
 }</string>
    </property>
    <property name="currentIndex">
-    <number>0</number>
+    <number>3</number>
    </property>
    <widget class="QWidget" name="tab">
     <property name="sizePolicy">
@@ -113,7 +113,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  100</string>
+         <string>  150</string>
         </property>
        </widget>
       </item>
@@ -154,15 +154,12 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="4" column="3">
-       <widget class="QSlider" name="maximum_gradient_slider">
+       <widget class="QSlider" name="gradientSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
-        <property name="minimum">
-         <number>0</number>
-        </property>
         <property name="maximum">
          <number>30</number>
         </property>
@@ -218,19 +215,19 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>300</string>
+         <string>680</string>
         </property>
        </widget>
       </item>
       <item row="3" column="3">
-       <widget class="QSlider" name="minimal_longitudinal_length_slider">
+       <widget class="QSlider" name="minloglenSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
         <property name="minimum">
-         <number>100</number>
+         <number>200</number>
         </property>
         <property name="maximum">
          <number>10000</number>
@@ -260,7 +257,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  10</string>
+         <string>  25</string>
         </property>
        </widget>
       </item>
@@ -281,7 +278,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  0</string>
+         <string>   0</string>
         </property>
        </widget>
       </item>
@@ -293,7 +290,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>800</string>
+         <string>280</string>
         </property>
        </widget>
       </item>
@@ -305,7 +302,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>10000</string>
+         <string>12000</string>
         </property>
        </widget>
       </item>
@@ -329,7 +326,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  0</string>
+         <string>   0</string>
         </property>
        </widget>
       </item>
@@ -350,19 +347,19 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  100</string>
+         <string>  10000</string>
         </property>
        </widget>
       </item>
       <item row="5" column="3">
-       <widget class="QSlider" name="maximum_slope_difference_slider">
+       <widget class="QSlider" name="slopdiffSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
         <property name="maximum">
-         <number>25</number>
+         <number>30</number>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
@@ -382,17 +379,17 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="6" column="3">
-       <widget class="QSlider" name="minimum_radius_of_convex_vertical_curve_slider">
+       <widget class="QSlider" name="convexSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
         <property name="minimum">
-         <number>100</number>
+         <number>10000</number>
         </property>
         <property name="maximum">
-         <number>3500</number>
+         <number>30000</number>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
@@ -407,22 +404,22 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  100</string>
+         <string>  10000</string>
         </property>
        </widget>
       </item>
       <item row="2" column="3">
-       <widget class="QSlider" name="minimum_circular_length_slider">
+       <widget class="QSlider" name="lengthSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
         <property name="minimum">
-         <number>100</number>
+         <number>150</number>
         </property>
         <property name="maximum">
-         <number>800</number>
+         <number>280</number>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
@@ -437,7 +434,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>25</string>
+         <string>30</string>
         </property>
        </widget>
       </item>
@@ -461,7 +458,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  100</string>
+         <string>  150</string>
         </property>
        </widget>
       </item>
@@ -497,7 +494,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>3500</string>
+         <string>30000</string>
         </property>
        </widget>
       </item>
@@ -539,7 +536,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  0</string>
+         <string>  120</string>
         </property>
        </widget>
       </item>
@@ -563,7 +560,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>3500</string>
+         <string>30000</string>
         </property>
        </widget>
       </item>
@@ -589,17 +586,17 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="1" column="3">
-       <widget class="QSlider" name="minimum_curve_radius_slider">
+       <widget class="QSlider" name="radiusSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
         <property name="minimum">
-         <number>1500</number>
+         <number>2800</number>
         </property>
         <property name="maximum">
-         <number>10000</number>
+         <number>12000</number>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
@@ -632,7 +629,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  1500</string>
+         <string>  2800</string>
         </property>
        </widget>
       </item>
@@ -653,22 +650,22 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>  100</string>
+         <string>  200</string>
         </property>
        </widget>
       </item>
       <item row="9" column="3">
-       <widget class="QSlider" name="minimum_clip_line_length_slider">
+       <widget class="QSlider" name="clipSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
         <property name="minimum">
-         <number>100</number>
+         <number>150</number>
         </property>
         <property name="maximum">
-         <number>350</number>
+         <number>280</number>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
@@ -676,14 +673,17 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="8" column="3">
-       <widget class="QSlider" name="minimum_transition_curve_length_slider">
+       <widget class="QSlider" name="transitionSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
+        <property name="minimum">
+         <number>120</number>
+        </property>
         <property name="maximum">
-         <number>300</number>
+         <number>680</number>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
@@ -691,17 +691,17 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="7" column="3">
-       <widget class="QSlider" name="concave_vertical_curve_slider">
+       <widget class="QSlider" name="concaveSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
         <property name="minimum">
-         <number>100</number>
+         <number>10000</number>
         </property>
         <property name="maximum">
-         <number>3500</number>
+         <number>30000</number>
         </property>
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
@@ -709,7 +709,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="0" column="1">
-       <widget class="QLineEdit" name="design_speed">
+       <widget class="QLineEdit" name="speed">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -748,12 +748,15 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="10" column="3">
-       <widget class="QSlider" name="minimum_length_of_vertical_curve_slider">
+       <widget class="QSlider" name="verticalCurveSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
          </font>
         </property>
+        <property name="minimum">
+         <number>25</number>
+        </property>
         <property name="maximum">
          <number>500</number>
         </property>
@@ -770,7 +773,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>350</string>
+         <string>280</string>
         </property>
        </widget>
       </item>
@@ -937,7 +940,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>房屋拆迁(元/m3):</string>
+         <string>房屋拆迁(元/m2):</string>
         </property>
        </widget>
       </item>
@@ -1180,7 +1183,7 @@ border:1px solid #aaa;
      </property>
      <layout class="QGridLayout" name="gridLayout" columnstretch="1,1,0,3,0" columnminimumwidth="0,0,0,0,0">
       <item row="1" column="3">
-       <widget class="QSlider" name="noise_and_vibration_slider">
+       <widget class="QSlider" name="voiceSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1195,7 +1198,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="0" column="1">
-       <widget class="QLineEdit" name="water_pollution">
+       <widget class="QLineEdit" name="water">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1204,7 +1207,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="2" column="1">
-       <widget class="QLineEdit" name="cultural_heritage_protection">
+       <widget class="QLineEdit" name="culture">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1213,7 +1216,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="7" column="1">
-       <widget class="QLineEdit" name="air_pollution">
+       <widget class="QLineEdit" name="air">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1234,7 +1237,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="0" column="3">
-       <widget class="QSlider" name="water_pollution_slider">
+       <widget class="QSlider" name="waterSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1249,7 +1252,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="6" column="1">
-       <widget class="QLineEdit" name="fields_woods">
+       <widget class="QLineEdit" name="tree">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1258,7 +1261,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="2" column="3">
-       <widget class="QSlider" name="cultural_heritage_protection_slider">
+       <widget class="QSlider" name="cultureSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1297,7 +1300,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="8" column="1">
-       <widget class="QLineEdit" name="house_demolition_2">
+       <widget class="QLineEdit" name="house">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1306,7 +1309,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="4" column="3">
-       <widget class="QSlider" name="original_natural_slider">
+       <widget class="QSlider" name="prewaterSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1345,7 +1348,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="6" column="3">
-       <widget class="QSlider" name="fields_woods_slider">
+       <widget class="QSlider" name="treeSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1372,7 +1375,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="5" column="1">
-       <widget class="QLineEdit" name="traffic_network">
+       <widget class="QLineEdit" name="traffic">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1393,7 +1396,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="3" column="3">
-       <widget class="QSlider" name="destruction_wildlife_slider">
+       <widget class="QSlider" name="animalSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1408,7 +1411,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="8" column="3">
-       <widget class="QSlider" name="house_demolition_2_slider">
+       <widget class="QSlider" name="houseSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1453,7 +1456,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="3" column="1">
-       <widget class="QLineEdit" name="destruction_wildlife">
+       <widget class="QLineEdit" name="animal">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1462,7 +1465,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="7" column="3">
-       <widget class="QSlider" name="air_pollution_slider">
+       <widget class="QSlider" name="airSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1477,7 +1480,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="1" column="1">
-       <widget class="QLineEdit" name="noise_and_vibration">
+       <widget class="QLineEdit" name="voice">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1498,7 +1501,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="4" column="1">
-       <widget class="QLineEdit" name="original_natural">
+       <widget class="QLineEdit" name="prewater">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -1507,7 +1510,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="5" column="3">
-       <widget class="QSlider" name="traffic_network_slider">
+       <widget class="QSlider" name="trafficSlider">
         <property name="font">
          <font>
           <pointsize>11</pointsize>
@@ -2202,7 +2205,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="maximum">
-         <number>10</number>
+         <number>1000</number>
         </property>
         <property name="pageStep">
          <number>1</number>
@@ -2220,7 +2223,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>单次训练样本数量:</string>
+         <string>batch sizes:</string>
         </property>
        </widget>
       </item>
@@ -2340,7 +2343,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>100</string>
+         <string>300</string>
         </property>
        </widget>
       </item>
@@ -2352,7 +2355,7 @@ border:1px solid #aaa;
          </font>
         </property>
         <property name="text">
-         <string>10</string>
+         <string>1000</string>
         </property>
        </widget>
       </item>
@@ -2489,7 +2492,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="0" column="3">
-       <widget class="QSlider" name="pmprice">
+       <widget class="QSlider" name="hCostSlider">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
@@ -2508,7 +2511,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="1" column="3">
-       <widget class="QSlider" name="pmeco">
+       <widget class="QSlider" name="hEcologySlider">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>
@@ -2590,7 +2593,7 @@ border:1px solid #aaa;
        </widget>
       </item>
       <item row="0" column="3">
-       <widget class="QSlider" name="zdmprice">
+       <widget class="QSlider" name="vCostSlider">
         <property name="orientation">
          <enum>Qt::Horizontal</enum>
         </property>