Free cookie consent management tool by TermsFeed Policy Generator

Changeset 4015


Ignore:
Timestamp:
07/08/10 11:23:02 (14 years ago)
Author:
svonolfe
Message:

Improved VRP solution view (#1039)

Location:
trunk/sources
Files:
7 edited

Legend:

Unmodified
Added
Removed
  • trunk/sources/HeuristicLab.Problems.VehicleRouting.Views/3.3/VRPSolutionView.Designer.cs

    r3938 r4015  
    5252      this.tourViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    5353      this.splitContainer = new System.Windows.Forms.SplitContainer();
    54       this.tabControl1 = new System.Windows.Forms.TabControl();
    55       this.tabPage1 = new System.Windows.Forms.TabPage();
     54      this.tableLayoutPanel1 = new System.Windows.Forms.TableLayoutPanel();
     55      this.travelTimeViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     56      this.label6 = new System.Windows.Forms.Label();
     57      this.tardinessViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     58      this.label5 = new System.Windows.Forms.Label();
     59      this.overloadViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     60      this.label4 = new System.Windows.Forms.Label();
     61      this.vehicleUtilizationViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
     62      this.label3 = new System.Windows.Forms.Label();
     63      this.label2 = new System.Windows.Forms.Label();
    5664      this.qualityViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    57       this.tabPage6 = new System.Windows.Forms.TabPage();
     65      this.label1 = new System.Windows.Forms.Label();
    5866      this.distanceViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    59       this.tabPage2 = new System.Windows.Forms.TabPage();
    60       this.overloadViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    61       this.tabPage3 = new System.Windows.Forms.TabPage();
    62       this.tardinessViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    63       this.tabPage4 = new System.Windows.Forms.TabPage();
    64       this.travelTimeViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    65       this.tabPage5 = new System.Windows.Forms.TabPage();
    66       this.vehicleUtilizationViewHost = new HeuristicLab.MainForm.WindowsForms.ViewHost();
    6767      ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).BeginInit();
    6868      this.tabControl.SuspendLayout();
     
    7373      this.splitContainer.Panel2.SuspendLayout();
    7474      this.splitContainer.SuspendLayout();
    75       this.tabControl1.SuspendLayout();
    76       this.tabPage1.SuspendLayout();
    77       this.tabPage6.SuspendLayout();
    78       this.tabPage2.SuspendLayout();
    79       this.tabPage3.SuspendLayout();
    80       this.tabPage4.SuspendLayout();
    81       this.tabPage5.SuspendLayout();
     75      this.tableLayoutPanel1.SuspendLayout();
    8276      this.SuspendLayout();
    8377      //
     
    9185      this.pictureBox.Location = new System.Drawing.Point(6, 6);
    9286      this.pictureBox.Name = "pictureBox";
    93       this.pictureBox.Size = new System.Drawing.Size(403, 288);
     87      this.pictureBox.Size = new System.Drawing.Size(403, 386);
    9488      this.pictureBox.TabIndex = 0;
    9589      this.pictureBox.TabStop = false;
     
    9892      // tabControl
    9993      //
    100       this.tabControl.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    101                   | System.Windows.Forms.AnchorStyles.Left)
    102                   | System.Windows.Forms.AnchorStyles.Right)));
    10394      this.tabControl.Controls.Add(this.visualizationTabPage);
    10495      this.tabControl.Controls.Add(this.valueTabPage);
    105       this.tabControl.Location = new System.Drawing.Point(0, 3);
     96      this.tabControl.Dock = System.Windows.Forms.DockStyle.Fill;
     97      this.tabControl.Location = new System.Drawing.Point(0, 0);
    10698      this.tabControl.Name = "tabControl";
    10799      this.tabControl.SelectedIndex = 0;
    108       this.tabControl.Size = new System.Drawing.Size(423, 326);
     100      this.tabControl.Size = new System.Drawing.Size(423, 424);
    109101      this.tabControl.TabIndex = 0;
    110102      //
     
    115107      this.visualizationTabPage.Name = "visualizationTabPage";
    116108      this.visualizationTabPage.Padding = new System.Windows.Forms.Padding(3);
    117       this.visualizationTabPage.Size = new System.Drawing.Size(415, 300);
     109      this.visualizationTabPage.Size = new System.Drawing.Size(415, 398);
    118110      this.visualizationTabPage.TabIndex = 0;
    119111      this.visualizationTabPage.Text = "Visualization";
     
    126118      this.valueTabPage.Name = "valueTabPage";
    127119      this.valueTabPage.Padding = new System.Windows.Forms.Padding(3);
    128       this.valueTabPage.Size = new System.Drawing.Size(415, 300);
     120      this.valueTabPage.Size = new System.Drawing.Size(415, 398);
    129121      this.valueTabPage.TabIndex = 1;
    130122      this.valueTabPage.Text = "Value";
     
    133125      // tourGroupBox
    134126      //
    135       this.tourGroupBox.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    136                   | System.Windows.Forms.AnchorStyles.Left)
    137                   | System.Windows.Forms.AnchorStyles.Right)));
    138127      this.tourGroupBox.Controls.Add(this.tourViewHost);
    139       this.tourGroupBox.Location = new System.Drawing.Point(6, 6);
     128      this.tourGroupBox.Dock = System.Windows.Forms.DockStyle.Fill;
     129      this.tourGroupBox.Location = new System.Drawing.Point(3, 3);
    140130      this.tourGroupBox.Name = "tourGroupBox";
    141       this.tourGroupBox.Size = new System.Drawing.Size(403, 288);
     131      this.tourGroupBox.Size = new System.Drawing.Size(409, 392);
    142132      this.tourGroupBox.TabIndex = 0;
    143133      this.tourGroupBox.TabStop = false;
     
    154144      this.tourViewHost.Name = "tourViewHost";
    155145      this.tourViewHost.ReadOnly = false;
    156       this.tourViewHost.Size = new System.Drawing.Size(391, 263);
     146      this.tourViewHost.Size = new System.Drawing.Size(397, 367);
    157147      this.tourViewHost.TabIndex = 0;
    158148      this.tourViewHost.ViewType = null;
     
    161151      //
    162152      this.splitContainer.Dock = System.Windows.Forms.DockStyle.Fill;
     153      this.splitContainer.FixedPanel = System.Windows.Forms.FixedPanel.Panel1;
     154      this.splitContainer.IsSplitterFixed = true;
    163155      this.splitContainer.Location = new System.Drawing.Point(0, 0);
    164156      this.splitContainer.Name = "splitContainer";
     
    167159      // splitContainer.Panel1
    168160      //
    169       this.splitContainer.Panel1.Controls.Add(this.tabControl1);
     161      this.splitContainer.Panel1.Controls.Add(this.tableLayoutPanel1);
    170162      //
    171163      // splitContainer.Panel2
    172164      //
    173165      this.splitContainer.Panel2.Controls.Add(this.tabControl);
    174       this.splitContainer.Size = new System.Drawing.Size(423, 402);
    175       this.splitContainer.SplitterDistance = 69;
     166      this.splitContainer.Size = new System.Drawing.Size(423, 558);
     167      this.splitContainer.SplitterDistance = 130;
    176168      this.splitContainer.TabIndex = 0;
    177169      //
    178       // tabControl1
    179       //
    180       this.tabControl1.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    181                   | System.Windows.Forms.AnchorStyles.Left)
    182                   | System.Windows.Forms.AnchorStyles.Right)));
    183       this.tabControl1.Controls.Add(this.tabPage1);
    184       this.tabControl1.Controls.Add(this.tabPage6);
    185       this.tabControl1.Controls.Add(this.tabPage5);
    186       this.tabControl1.Controls.Add(this.tabPage2);
    187       this.tabControl1.Controls.Add(this.tabPage3);
    188       this.tabControl1.Controls.Add(this.tabPage4);
    189       this.tabControl1.Location = new System.Drawing.Point(4, 3);
    190       this.tabControl1.Name = "tabControl1";
    191       this.tabControl1.SelectedIndex = 0;
    192       this.tabControl1.Size = new System.Drawing.Size(416, 63);
    193       this.tabControl1.TabIndex = 0;
    194       //
    195       // tabPage1
    196       //
    197       this.tabPage1.Controls.Add(this.qualityViewHost);
    198       this.tabPage1.Location = new System.Drawing.Point(4, 22);
    199       this.tabPage1.Name = "tabPage1";
    200       this.tabPage1.Padding = new System.Windows.Forms.Padding(3);
    201       this.tabPage1.Size = new System.Drawing.Size(408, 37);
    202       this.tabPage1.TabIndex = 0;
    203       this.tabPage1.Text = "Quality";
    204       this.tabPage1.UseVisualStyleBackColor = true;
     170      // tableLayoutPanel1
     171      //
     172      this.tableLayoutPanel1.ColumnCount = 2;
     173      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 23.64066F));
     174      this.tableLayoutPanel1.ColumnStyles.Add(new System.Windows.Forms.ColumnStyle(System.Windows.Forms.SizeType.Percent, 76.35934F));
     175      this.tableLayoutPanel1.Controls.Add(this.travelTimeViewHost, 1, 5);
     176      this.tableLayoutPanel1.Controls.Add(this.label6, 0, 5);
     177      this.tableLayoutPanel1.Controls.Add(this.tardinessViewHost, 1, 4);
     178      this.tableLayoutPanel1.Controls.Add(this.label5, 0, 4);
     179      this.tableLayoutPanel1.Controls.Add(this.overloadViewHost, 1, 3);
     180      this.tableLayoutPanel1.Controls.Add(this.label4, 0, 3);
     181      this.tableLayoutPanel1.Controls.Add(this.vehicleUtilizationViewHost, 1, 2);
     182      this.tableLayoutPanel1.Controls.Add(this.label3, 0, 2);
     183      this.tableLayoutPanel1.Controls.Add(this.label2, 0, 1);
     184      this.tableLayoutPanel1.Controls.Add(this.qualityViewHost, 1, 0);
     185      this.tableLayoutPanel1.Controls.Add(this.label1, 0, 0);
     186      this.tableLayoutPanel1.Controls.Add(this.distanceViewHost, 1, 1);
     187      this.tableLayoutPanel1.GrowStyle = System.Windows.Forms.TableLayoutPanelGrowStyle.FixedSize;
     188      this.tableLayoutPanel1.Location = new System.Drawing.Point(0, 0);
     189      this.tableLayoutPanel1.Name = "tableLayoutPanel1";
     190      this.tableLayoutPanel1.RowCount = 6;
     191      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
     192      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Percent, 50F));
     193      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
     194      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
     195      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
     196      this.tableLayoutPanel1.RowStyles.Add(new System.Windows.Forms.RowStyle(System.Windows.Forms.SizeType.Absolute, 20F));
     197      this.tableLayoutPanel1.Size = new System.Drawing.Size(423, 121);
     198      this.tableLayoutPanel1.TabIndex = 2;
     199      //
     200      // travelTimeViewHost
     201      //
     202      this.travelTimeViewHost.Caption = "View";
     203      this.travelTimeViewHost.Content = null;
     204      this.travelTimeViewHost.Dock = System.Windows.Forms.DockStyle.Left;
     205      this.travelTimeViewHost.Location = new System.Drawing.Point(102, 103);
     206      this.travelTimeViewHost.Name = "travelTimeViewHost";
     207      this.travelTimeViewHost.ReadOnly = false;
     208      this.travelTimeViewHost.Size = new System.Drawing.Size(281, 15);
     209      this.travelTimeViewHost.TabIndex = 17;
     210      this.travelTimeViewHost.ViewType = null;
     211      //
     212      // label6
     213      //
     214      this.label6.AutoSize = true;
     215      this.label6.Dock = System.Windows.Forms.DockStyle.Fill;
     216      this.label6.Location = new System.Drawing.Point(3, 100);
     217      this.label6.Name = "label6";
     218      this.label6.Size = new System.Drawing.Size(93, 21);
     219      this.label6.TabIndex = 16;
     220      this.label6.Text = "Travel Time";
     221      this.label6.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
     222      //
     223      // tardinessViewHost
     224      //
     225      this.tardinessViewHost.Caption = "View";
     226      this.tardinessViewHost.Content = null;
     227      this.tardinessViewHost.Dock = System.Windows.Forms.DockStyle.Left;
     228      this.tardinessViewHost.Location = new System.Drawing.Point(102, 83);
     229      this.tardinessViewHost.Name = "tardinessViewHost";
     230      this.tardinessViewHost.ReadOnly = false;
     231      this.tardinessViewHost.Size = new System.Drawing.Size(281, 14);
     232      this.tardinessViewHost.TabIndex = 15;
     233      this.tardinessViewHost.ViewType = null;
     234      //
     235      // label5
     236      //
     237      this.label5.AutoSize = true;
     238      this.label5.Dock = System.Windows.Forms.DockStyle.Fill;
     239      this.label5.Location = new System.Drawing.Point(3, 80);
     240      this.label5.Name = "label5";
     241      this.label5.Size = new System.Drawing.Size(93, 20);
     242      this.label5.TabIndex = 14;
     243      this.label5.Text = "Tardiness";
     244      this.label5.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
     245      //
     246      // overloadViewHost
     247      //
     248      this.overloadViewHost.BackColor = System.Drawing.Color.Transparent;
     249      this.overloadViewHost.Caption = "View";
     250      this.overloadViewHost.Content = null;
     251      this.overloadViewHost.Dock = System.Windows.Forms.DockStyle.Left;
     252      this.overloadViewHost.Location = new System.Drawing.Point(102, 63);
     253      this.overloadViewHost.Name = "overloadViewHost";
     254      this.overloadViewHost.ReadOnly = false;
     255      this.overloadViewHost.Size = new System.Drawing.Size(281, 14);
     256      this.overloadViewHost.TabIndex = 13;
     257      this.overloadViewHost.ViewType = null;
     258      //
     259      // label4
     260      //
     261      this.label4.AutoSize = true;
     262      this.label4.Dock = System.Windows.Forms.DockStyle.Fill;
     263      this.label4.Location = new System.Drawing.Point(3, 60);
     264      this.label4.Name = "label4";
     265      this.label4.Size = new System.Drawing.Size(93, 20);
     266      this.label4.TabIndex = 12;
     267      this.label4.Text = "Overload";
     268      this.label4.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
     269      //
     270      // vehicleUtilizationViewHost
     271      //
     272      this.vehicleUtilizationViewHost.Caption = "View";
     273      this.vehicleUtilizationViewHost.Content = null;
     274      this.vehicleUtilizationViewHost.Dock = System.Windows.Forms.DockStyle.Left;
     275      this.vehicleUtilizationViewHost.Location = new System.Drawing.Point(102, 43);
     276      this.vehicleUtilizationViewHost.Name = "vehicleUtilizationViewHost";
     277      this.vehicleUtilizationViewHost.ReadOnly = false;
     278      this.vehicleUtilizationViewHost.Size = new System.Drawing.Size(281, 14);
     279      this.vehicleUtilizationViewHost.TabIndex = 11;
     280      this.vehicleUtilizationViewHost.ViewType = null;
     281      //
     282      // label3
     283      //
     284      this.label3.AutoSize = true;
     285      this.label3.Dock = System.Windows.Forms.DockStyle.Fill;
     286      this.label3.Location = new System.Drawing.Point(3, 40);
     287      this.label3.Name = "label3";
     288      this.label3.Size = new System.Drawing.Size(93, 20);
     289      this.label3.TabIndex = 10;
     290      this.label3.Text = "Vehicle utilization";
     291      this.label3.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
     292      //
     293      // label2
     294      //
     295      this.label2.AutoSize = true;
     296      this.label2.Dock = System.Windows.Forms.DockStyle.Fill;
     297      this.label2.Location = new System.Drawing.Point(3, 20);
     298      this.label2.Name = "label2";
     299      this.label2.Size = new System.Drawing.Size(93, 20);
     300      this.label2.TabIndex = 9;
     301      this.label2.Text = "Distance";
     302      this.label2.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
    205303      //
    206304      // qualityViewHost
    207305      //
    208       this.qualityViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    209                   | System.Windows.Forms.AnchorStyles.Left)
    210                   | System.Windows.Forms.AnchorStyles.Right)));
    211306      this.qualityViewHost.BackColor = System.Drawing.Color.Transparent;
    212307      this.qualityViewHost.Caption = "View";
    213308      this.qualityViewHost.Content = null;
    214       this.qualityViewHost.Location = new System.Drawing.Point(3, 1);
     309      this.qualityViewHost.Dock = System.Windows.Forms.DockStyle.Left;
     310      this.qualityViewHost.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
     311      this.qualityViewHost.Location = new System.Drawing.Point(102, 3);
    215312      this.qualityViewHost.Name = "qualityViewHost";
    216313      this.qualityViewHost.ReadOnly = false;
    217       this.qualityViewHost.Size = new System.Drawing.Size(402, 35);
    218       this.qualityViewHost.TabIndex = 5;
     314      this.qualityViewHost.Size = new System.Drawing.Size(281, 14);
     315      this.qualityViewHost.TabIndex = 8;
    219316      this.qualityViewHost.ViewType = null;
    220317      //
    221       // tabPage6
    222       //
    223       this.tabPage6.Controls.Add(this.distanceViewHost);
    224       this.tabPage6.Location = new System.Drawing.Point(4, 22);
    225       this.tabPage6.Name = "tabPage6";
    226       this.tabPage6.Size = new System.Drawing.Size(408, 37);
    227       this.tabPage6.TabIndex = 5;
    228       this.tabPage6.Text = "Distance";
    229       this.tabPage6.UseVisualStyleBackColor = true;
     318      // label1
     319      //
     320      this.label1.AutoSize = true;
     321      this.label1.Dock = System.Windows.Forms.DockStyle.Fill;
     322      this.label1.Font = new System.Drawing.Font("Microsoft Sans Serif", 8.25F, System.Drawing.FontStyle.Bold, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
     323      this.label1.Location = new System.Drawing.Point(3, 0);
     324      this.label1.Name = "label1";
     325      this.label1.Size = new System.Drawing.Size(93, 20);
     326      this.label1.TabIndex = 0;
     327      this.label1.Text = "Quality";
     328      this.label1.TextAlign = System.Drawing.ContentAlignment.BottomLeft;
    230329      //
    231330      // distanceViewHost
    232331      //
    233       this.distanceViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    234                   | System.Windows.Forms.AnchorStyles.Left)
    235                   | System.Windows.Forms.AnchorStyles.Right)));
    236332      this.distanceViewHost.BackColor = System.Drawing.Color.Transparent;
    237333      this.distanceViewHost.Caption = "View";
    238334      this.distanceViewHost.Content = null;
    239       this.distanceViewHost.Location = new System.Drawing.Point(3, 1);
     335      this.distanceViewHost.Dock = System.Windows.Forms.DockStyle.Left;
     336      this.distanceViewHost.Location = new System.Drawing.Point(102, 23);
    240337      this.distanceViewHost.Name = "distanceViewHost";
    241338      this.distanceViewHost.ReadOnly = false;
    242       this.distanceViewHost.Size = new System.Drawing.Size(402, 35);
    243       this.distanceViewHost.TabIndex = 6;
     339      this.distanceViewHost.Size = new System.Drawing.Size(281, 14);
     340      this.distanceViewHost.TabIndex = 7;
    244341      this.distanceViewHost.ViewType = null;
    245       //
    246       // tabPage2
    247       //
    248       this.tabPage2.Controls.Add(this.overloadViewHost);
    249       this.tabPage2.Location = new System.Drawing.Point(4, 22);
    250       this.tabPage2.Name = "tabPage2";
    251       this.tabPage2.Size = new System.Drawing.Size(408, 37);
    252       this.tabPage2.TabIndex = 1;
    253       this.tabPage2.Text = "Overload";
    254       this.tabPage2.UseVisualStyleBackColor = true;
    255       //
    256       // overloadViewHost
    257       //
    258       this.overloadViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    259                   | System.Windows.Forms.AnchorStyles.Left)
    260                   | System.Windows.Forms.AnchorStyles.Right)));
    261       this.overloadViewHost.BackColor = System.Drawing.Color.Transparent;
    262       this.overloadViewHost.Caption = "View";
    263       this.overloadViewHost.Content = null;
    264       this.overloadViewHost.Location = new System.Drawing.Point(3, 2);
    265       this.overloadViewHost.Name = "overloadViewHost";
    266       this.overloadViewHost.ReadOnly = false;
    267       this.overloadViewHost.Size = new System.Drawing.Size(402, 35);
    268       this.overloadViewHost.TabIndex = 4;
    269       this.overloadViewHost.ViewType = null;
    270       //
    271       // tabPage3
    272       //
    273       this.tabPage3.Controls.Add(this.tardinessViewHost);
    274       this.tabPage3.Location = new System.Drawing.Point(4, 22);
    275       this.tabPage3.Name = "tabPage3";
    276       this.tabPage3.Size = new System.Drawing.Size(408, 37);
    277       this.tabPage3.TabIndex = 2;
    278       this.tabPage3.Text = "Tardiness";
    279       this.tabPage3.UseVisualStyleBackColor = true;
    280       //
    281       // tardinessViewHost
    282       //
    283       this.tardinessViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    284                   | System.Windows.Forms.AnchorStyles.Left)
    285                   | System.Windows.Forms.AnchorStyles.Right)));
    286       this.tardinessViewHost.Caption = "View";
    287       this.tardinessViewHost.Content = null;
    288       this.tardinessViewHost.Location = new System.Drawing.Point(2, 1);
    289       this.tardinessViewHost.Name = "tardinessViewHost";
    290       this.tardinessViewHost.ReadOnly = false;
    291       this.tardinessViewHost.Size = new System.Drawing.Size(404, 35);
    292       this.tardinessViewHost.TabIndex = 2;
    293       this.tardinessViewHost.ViewType = null;
    294       //
    295       // tabPage4
    296       //
    297       this.tabPage4.Controls.Add(this.travelTimeViewHost);
    298       this.tabPage4.Location = new System.Drawing.Point(4, 22);
    299       this.tabPage4.Name = "tabPage4";
    300       this.tabPage4.Size = new System.Drawing.Size(408, 37);
    301       this.tabPage4.TabIndex = 3;
    302       this.tabPage4.Text = "TravelTime";
    303       this.tabPage4.UseVisualStyleBackColor = true;
    304       //
    305       // travelTimeViewHost
    306       //
    307       this.travelTimeViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    308                   | System.Windows.Forms.AnchorStyles.Left)
    309                   | System.Windows.Forms.AnchorStyles.Right)));
    310       this.travelTimeViewHost.Caption = "View";
    311       this.travelTimeViewHost.Content = null;
    312       this.travelTimeViewHost.Location = new System.Drawing.Point(2, 1);
    313       this.travelTimeViewHost.Name = "travelTimeViewHost";
    314       this.travelTimeViewHost.ReadOnly = false;
    315       this.travelTimeViewHost.Size = new System.Drawing.Size(404, 35);
    316       this.travelTimeViewHost.TabIndex = 2;
    317       this.travelTimeViewHost.ViewType = null;
    318       //
    319       // tabPage5
    320       //
    321       this.tabPage5.Controls.Add(this.vehicleUtilizationViewHost);
    322       this.tabPage5.Location = new System.Drawing.Point(4, 22);
    323       this.tabPage5.Name = "tabPage5";
    324       this.tabPage5.Size = new System.Drawing.Size(408, 37);
    325       this.tabPage5.TabIndex = 4;
    326       this.tabPage5.Text = "Vehicle utilization";
    327       this.tabPage5.UseVisualStyleBackColor = true;
    328       //
    329       // vehicleUtilizationViewHost
    330       //
    331       this.vehicleUtilizationViewHost.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
    332                   | System.Windows.Forms.AnchorStyles.Left)
    333                   | System.Windows.Forms.AnchorStyles.Right)));
    334       this.vehicleUtilizationViewHost.Caption = "View";
    335       this.vehicleUtilizationViewHost.Content = null;
    336       this.vehicleUtilizationViewHost.Location = new System.Drawing.Point(2, 1);
    337       this.vehicleUtilizationViewHost.Name = "vehicleUtilizationViewHost";
    338       this.vehicleUtilizationViewHost.ReadOnly = false;
    339       this.vehicleUtilizationViewHost.Size = new System.Drawing.Size(404, 35);
    340       this.vehicleUtilizationViewHost.TabIndex = 2;
    341       this.vehicleUtilizationViewHost.ViewType = null;
    342342      //
    343343      // VRPSolutionView
     
    347347      this.Controls.Add(this.splitContainer);
    348348      this.Name = "VRPSolutionView";
    349       this.Size = new System.Drawing.Size(423, 402);
     349      this.Size = new System.Drawing.Size(423, 558);
    350350      ((System.ComponentModel.ISupportInitialize)(this.pictureBox)).EndInit();
    351351      this.tabControl.ResumeLayout(false);
     
    356356      this.splitContainer.Panel2.ResumeLayout(false);
    357357      this.splitContainer.ResumeLayout(false);
    358       this.tabControl1.ResumeLayout(false);
    359       this.tabPage1.ResumeLayout(false);
    360       this.tabPage6.ResumeLayout(false);
    361       this.tabPage2.ResumeLayout(false);
    362       this.tabPage3.ResumeLayout(false);
    363       this.tabPage4.ResumeLayout(false);
    364       this.tabPage5.ResumeLayout(false);
     358      this.tableLayoutPanel1.ResumeLayout(false);
     359      this.tableLayoutPanel1.PerformLayout();
    365360      this.ResumeLayout(false);
    366361
     
    376371    private HeuristicLab.MainForm.WindowsForms.ViewHost tourViewHost;
    377372    private System.Windows.Forms.SplitContainer splitContainer;
    378     private System.Windows.Forms.TabControl tabControl1;
    379     private System.Windows.Forms.TabPage tabPage1;
    380     private System.Windows.Forms.TabPage tabPage2;
    381     private System.Windows.Forms.TabPage tabPage3;
     373    private System.Windows.Forms.TableLayoutPanel tableLayoutPanel1;
     374    private System.Windows.Forms.Label label1;
     375    private HeuristicLab.MainForm.WindowsForms.ViewHost travelTimeViewHost;
     376    private System.Windows.Forms.Label label6;
    382377    private HeuristicLab.MainForm.WindowsForms.ViewHost tardinessViewHost;
    383     private System.Windows.Forms.TabPage tabPage4;
    384     private HeuristicLab.MainForm.WindowsForms.ViewHost travelTimeViewHost;
    385     private System.Windows.Forms.TabPage tabPage5;
     378    private System.Windows.Forms.Label label5;
     379    private HeuristicLab.MainForm.WindowsForms.ViewHost overloadViewHost;
     380    private System.Windows.Forms.Label label4;
    386381    private HeuristicLab.MainForm.WindowsForms.ViewHost vehicleUtilizationViewHost;
    387     private HeuristicLab.MainForm.WindowsForms.ViewHost overloadViewHost;
     382    private System.Windows.Forms.Label label3;
     383    private System.Windows.Forms.Label label2;
    388384    private HeuristicLab.MainForm.WindowsForms.ViewHost qualityViewHost;
    389     private System.Windows.Forms.TabPage tabPage6;
    390385    private HeuristicLab.MainForm.WindowsForms.ViewHost distanceViewHost;
    391386
  • trunk/sources/HeuristicLab.Problems.VehicleRouting.Views/3.3/VRPSolutionView.cs

    r3938 r4015  
    9797    protected override void SetEnabledStateOfControls() {
    9898      base.SetEnabledStateOfControls();
    99       tabControl1.Enabled = Content != null;
     99      tableLayoutPanel1.Enabled = Content != null;
    100100      pictureBox.Enabled = Content != null;
    101101      tourGroupBox.Enabled = Content != null;
     
    108108        } else {
    109109          DoubleMatrix coordinates = Content.Coordinates;
     110          DoubleMatrix distanceMatrix = Content.DistanceMatrix;
     111          BoolValue useDistanceMatrix = Content.UseDistanceMatrix;
     112          DoubleArray dueTime = Content.DueTime;
     113          DoubleArray serviceTime = Content.ServiceTime;
     114          DoubleArray readyTime = Content.ReadyTime;
     115
    110116          Bitmap bitmap = new Bitmap(pictureBox.Width, pictureBox.Height);
     117
     118          Pen[] pens = {new Pen(Color.FromArgb(92,20,237)), new Pen(Color.FromArgb(237,183,20)), new Pen(Color.FromArgb(237,20,219)), new Pen(Color.FromArgb(20,237,76)),
     119                    new Pen(Color.FromArgb(237,61,20)), new Pen(Color.FromArgb(115,78,26)), new Pen(Color.FromArgb(20,237,229)), new Pen(Color.FromArgb(39,101,19)),
     120                    new Pen(Color.FromArgb(230,170,229)), new Pen(Color.FromArgb(142,136,89)), new Pen(Color.FromArgb(157,217,166)), new Pen(Color.FromArgb(31,19,101)),
     121                    new Pen(Color.FromArgb(173,237,20)), new Pen(Color.FromArgb(230,231,161)), new Pen(Color.FromArgb(142,89,89)), new Pen(Color.FromArgb(93,89,142)),
     122                    new Pen(Color.FromArgb(146,203,217)), new Pen(Color.FromArgb(101,19,75)), new Pen(Color.FromArgb(198,20,237)), new Pen(Color.FromArgb(185,185,185)),
     123                    new Pen(Color.FromArgb(179,32,32)), new Pen(Color.FromArgb(18,119,115)), new Pen(Color.FromArgb(104,158,239)), new Pen(Color.Black)};
    111124
    112125          if ((coordinates != null) && (coordinates.Rows > 0) && (coordinates.Columns == 2)) {
     
    123136            double yStep = yMax != yMin ? (pictureBox.Height - 2 * border) / (yMax - yMin) : 1;
    124137
    125             Point[] points = new Point[coordinates.Rows];
    126             for (int i = 0; i < coordinates.Rows; i++)
    127               points[i] = new Point(border + ((int)((coordinates[i, 0] - xMin) * xStep)),
    128                                     bitmap.Height - (border + ((int)((coordinates[i, 1] - yMin) * yStep))));
    129 
    130138            using (Graphics graphics = Graphics.FromImage(bitmap)) {
    131139              if (Content.Solution != null) {
     140                int currentTour = 0;
    132141                foreach (Tour tour in Content.Solution.Tours) {
     142                  double t = 0.0;
    133143                  Point[] tourPoints = new Point[tour.Count];
     144                  int lastCustomer = 0;
     145
    134146                  for (int i = 0; i < tour.Count; i++) {
    135                     tourPoints[i] = points[tour[i].Value];
     147                    int customer = tour[i].Value;
     148
     149                    Point customerPoint = new Point(border + ((int)((coordinates[customer, 0] - xMin) * xStep)),
     150                                    bitmap.Height - (border + ((int)((coordinates[customer, 1] - yMin) * yStep))));
     151                    tourPoints[i] = customerPoint;
     152
     153                    if (i > 0) {
     154                      Brush customerBrush = Brushes.Black;
     155
     156                      t += VehicleRoutingProblem.GetDistance(
     157                        lastCustomer, customer, coordinates, distanceMatrix, useDistanceMatrix);
     158
     159                      if (t < readyTime[customer]) {
     160                        t = readyTime[customer];
     161                        customerBrush = Brushes.Yellow;
     162                      } else if (t > dueTime[customer]) {
     163                        customerBrush = Brushes.Red;
     164                      }
     165
     166                      t += serviceTime[customer];
     167
     168                      graphics.FillRectangle(customerBrush, customerPoint.X - 2, customerPoint.Y - 2, 6, 6);
     169                    }
     170                    lastCustomer = customer;
    136171                  }
    137                   graphics.DrawPolygon(Pens.Black, tourPoints);
     172
     173                  graphics.DrawPolygon(pens[((currentTour >= pens.Length) ? (pens.Length - 1) : (currentTour))], tourPoints);
     174                  currentTour++;
    138175                }
    139               }
    140 
    141               for (int i = 0; i < points.Length; i++)
    142                 graphics.FillRectangle(Brushes.Red, points[i].X - 2, points[i].Y - 2, 6, 6);
     176              }               
    143177            }
    144178          }
     179
     180          for (int i = 0; i < pens.Length; i++)
     181            pens[i].Dispose();
     182
    145183          pictureBox.Image = bitmap;
    146184        }
  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Analyzers/BestVRPSolutionAnalyzer.cs

    r3938 r4015  
    4141      get { return (ScopeTreeLookupParameter<IVRPEncoding>)Parameters["VRPSolution"]; }
    4242    }
     43    public ILookupParameter<DoubleMatrix> DistanceMatrixParameter {
     44      get { return (ILookupParameter<DoubleMatrix>)Parameters["DistanceMatrix"]; }
     45    }
     46    public ILookupParameter<BoolValue> UseDistanceMatrixParameter {
     47      get { return (ILookupParameter<BoolValue>)Parameters["UseDistanceMatrix"]; }
     48    }
    4349    public LookupParameter<DoubleMatrix> CoordinatesParameter {
    4450      get { return (LookupParameter<DoubleMatrix>)Parameters["Coordinates"]; }
     51    }
     52    public ILookupParameter<DoubleArray> ReadyTimeParameter {
     53      get { return (ILookupParameter<DoubleArray>)Parameters["ReadyTime"]; }
     54    }
     55    public ILookupParameter<DoubleArray> DueTimeParameter {
     56      get { return (ILookupParameter<DoubleArray>)Parameters["DueTime"]; }
     57    }
     58    public ILookupParameter<DoubleArray> ServiceTimeParameter {
     59      get { return (ILookupParameter<DoubleArray>)Parameters["ServiceTime"]; }
    4560    }
    4661    public ScopeTreeLookupParameter<DoubleValue> QualityParameter {
     
    7388      Parameters.Add(new ScopeTreeLookupParameter<IVRPEncoding>("VRPSolution", "The VRP solutions which should be evaluated."));
    7489      Parameters.Add(new LookupParameter<DoubleMatrix>("Coordinates", "The x- and y-Coordinates of the cities."));
     90      Parameters.Add(new LookupParameter<DoubleMatrix>("DistanceMatrix", "The matrix which contains the distances between the cities."));
     91      Parameters.Add(new LookupParameter<BoolValue>("UseDistanceMatrix", "True if a distance matrix should be calculated and used for evaluation, otherwise false."));
     92      Parameters.Add(new LookupParameter<DoubleArray>("ReadyTime", "The ready time of each customer."));
     93      Parameters.Add(new LookupParameter<DoubleArray>("DueTime", "The due time of each customer."));
     94      Parameters.Add(new LookupParameter<DoubleArray>("ServiceTime", "The service time of each customer."));
     95
    7596      Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("Quality", "The qualities of the VRP solutions which should be analyzed."));
    7697      Parameters.Add(new ScopeTreeLookupParameter<DoubleValue>("Distance", "The distances of the VRP solutions which should be analyzed."));
     
    101122        solution = new VRPSolution(coordinates, best.Clone() as IVRPEncoding, new DoubleValue(qualities[i].Value),
    102123          new DoubleValue(distances[i].Value), new DoubleValue(overloads[i].Value), new DoubleValue(tardinesses[i].Value),
    103           new DoubleValue(travelTimes[i].Value), new DoubleValue(vehiclesUtilizations[i].Value));
     124          new DoubleValue(travelTimes[i].Value), new DoubleValue(vehiclesUtilizations[i].Value),
     125          DistanceMatrixParameter.ActualValue, UseDistanceMatrixParameter.ActualValue,
     126          ReadyTimeParameter.ActualValue, DueTimeParameter.ActualValue, ServiceTimeParameter.ActualValue);
    104127        BestSolutionParameter.ActualValue = solution;
    105128        results.Add(new Result("Best VRP Solution", solution));
     
    114137          solution.TravelTime.Value = travelTimes[i].Value;
    115138          solution.VehicleUtilization.Value = vehiclesUtilizations[i].Value;
    116 
    117           if (solution.Quality.Value < solution.Distance.Value) {
    118           }
     139          solution.DistanceMatrix = DistanceMatrixParameter.ActualValue;
     140          solution.UseDistanceMatrix = UseDistanceMatrixParameter.ActualValue;
     141          solution.ReadyTime = ReadyTimeParameter.ActualValue;
     142          solution.DueTime = DueTimeParameter.ActualValue;
     143          solution.ServiceTime = ServiceTimeParameter.ActualValue;
    119144        }
    120145      }
  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/Evaluators/VRPEvaluator.cs

    r3947 r4015  
    143143    }
    144144
    145     private static double CalculateDistance(int start, int end, DoubleMatrix coordinates) {
    146       double distance = 0.0;
    147 
    148       distance =
    149           Math.Sqrt(
    150             Math.Pow(coordinates[start, 0] - coordinates[end, 0], 2) +
    151             Math.Pow(coordinates[start, 1] - coordinates[end, 1], 2));
    152 
    153       return distance;
    154     }
    155 
    156     private static DoubleMatrix CreateDistanceMatrix(DoubleMatrix coordinates)
    157     {
    158       DoubleMatrix distanceMatrix = new DoubleMatrix(coordinates.Rows, coordinates.Rows);
    159 
    160       for (int i = 0; i < distanceMatrix.Rows; i++) {
    161         for (int j = i; j < distanceMatrix.Columns; j++) {
    162           double distance = CalculateDistance(i, j, coordinates);
    163 
    164           distanceMatrix[i, j] = distance;
    165           distanceMatrix[j, i] = distance;
    166         }
    167       }
    168 
    169       return distanceMatrix;
    170     }
    171 
    172     private static double GetDistance(int start, int end,
    173       DoubleMatrix coordinates, ILookupParameter<DoubleMatrix> distanceMatrix, BoolValue useDistanceMatrix) {
    174       double distance = 0.0;
    175 
    176       if (useDistanceMatrix.Value) {
    177         if (distanceMatrix.ActualValue == null) {
    178           distanceMatrix.ActualValue = CreateDistanceMatrix(coordinates);
    179         }
    180 
    181         distance = distanceMatrix.ActualValue[start, end];
    182       } else {
    183         distance = CalculateDistance(start, end, coordinates);
    184       }
    185 
    186       return distance;
    187     }
    188 
    189145    private static TourEvaluation EvaluateTour(Tour tour, DoubleArray dueTimeArray,
    190146      DoubleArray serviceTimeArray, DoubleArray readyTimeArray, DoubleArray demandArray, DoubleValue capacity,
     
    210166
    211167        //drive there
    212         double currentDistace = GetDistance(start, end, coordinates, distanceMatrix, useDistanceMatrix);
     168        double currentDistace = VehicleRoutingProblem.GetDistance(start, end, coordinates, distanceMatrix, useDistanceMatrix);
    213169        distance += currentDistace;
    214170        time += currentDistace;
  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/MoveEvaluators/VRPMoveEvaluator.cs

    r3947 r4015  
    145145      MoveTravelTimeParameter.ActualValue = new DoubleValue(tourEval.TravelTime);
    146146
    147       if (tourEval.Quality < tourEval.Distance) {
    148       }
    149 
    150147      return base.Apply();
    151148    }
  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/VRPSolution.cs

    r3938 r4015  
    142142      }
    143143    }
     144    [Storable]
     145    private DoubleMatrix distanceMatrix;
     146    public DoubleMatrix DistanceMatrix {
     147      get { return distanceMatrix; }
     148      set {
     149        if (distanceMatrix != value) {
     150          distanceMatrix = value;
     151        }
     152      }
     153    }
     154    [Storable]
     155    private BoolValue useDistanceMatrix;
     156    public BoolValue UseDistanceMatrix {
     157      get { return useDistanceMatrix; }
     158      set {
     159        if (useDistanceMatrix != value) {
     160          useDistanceMatrix = value;
     161        }
     162      }
     163    }
     164    [Storable]
     165    private DoubleArray readyTime;
     166    public DoubleArray ReadyTime {
     167      get { return readyTime; }
     168      set {
     169        if (readyTime != value) {
     170          readyTime = value;
     171        }
     172      }
     173    }
     174    [Storable]
     175    private DoubleArray dueTime;
     176    public DoubleArray DueTime {
     177      get { return dueTime; }
     178      set {
     179        if (dueTime != value) {
     180          dueTime = value;
     181        }
     182      }
     183    }
     184    [Storable]
     185    private DoubleArray serviceTime;
     186    public DoubleArray ServiceTime {
     187      get { return serviceTime; }
     188      set {
     189        if (serviceTime != value) {
     190          serviceTime = value;
     191        }
     192      }
     193    }
    144194
    145195    public VRPSolution() : base() { }
     
    147197    public VRPSolution(DoubleMatrix coordinates, IVRPEncoding solution, DoubleValue quality,
    148198      DoubleValue distance, DoubleValue overload, DoubleValue tardiness, DoubleValue travelTime,
    149       DoubleValue vehicleUtilization)
     199      DoubleValue vehicleUtilization, DoubleMatrix distanceMatrix, BoolValue useDistanceMatrix,
     200      DoubleArray readyTime, DoubleArray dueTime, DoubleArray serviceTime)
    150201      : base() {
    151202      this.coordinates = coordinates;
     
    157208      this.travelTime = travelTime;
    158209      this.vehicleUtilization = vehicleUtilization;
     210      this.distanceMatrix = distanceMatrix;
     211      this.useDistanceMatrix = useDistanceMatrix;
     212      this.readyTime = readyTime;
     213      this.dueTime = dueTime;
     214      this.serviceTime = serviceTime;
    159215      Initialize();
    160216    }
     
    167223      if (solution != null) RegisterSolutionEvents();
    168224      if (quality != null) RegisterQualityEvents();
     225      if (distance != null) RegisterDistanceEvents();
     226      if (overload != null) RegisterOverloadEvents();
     227      if (tardiness != null) RegisterTardinessEvents();
     228      if (travelTime != null) RegisterTravelTimeEvents();
     229      if (vehicleUtilization != null) RegisterVehicleUtilizationEvents();
    169230    }
    170231
     
    180241      clone.travelTime = (DoubleValue)cloner.Clone(travelTime);
    181242      clone.vehicleUtilization = (DoubleValue)cloner.Clone(vehicleUtilization);
     243      clone.distanceMatrix = (DoubleMatrix)cloner.Clone(distanceMatrix);
     244      clone.useDistanceMatrix = (BoolValue)cloner.Clone(useDistanceMatrix);
     245      clone.readyTime = (DoubleArray)cloner.Clone(readyTime);
     246      clone.dueTime = (DoubleArray)cloner.Clone(dueTime);
     247      clone.serviceTime = (DoubleArray)cloner.Clone(serviceTime);
    182248      clone.Initialize();
    183249      return clone;
  • trunk/sources/HeuristicLab.Problems.VehicleRouting/3.3/VehicleRoutingProblem.cs

    r3947 r4015  
    222222    }
    223223
     224    private static double CalculateDistance(int start, int end, DoubleMatrix coordinates) {
     225      double distance = 0.0;
     226
     227      distance =
     228          Math.Sqrt(
     229            Math.Pow(coordinates[start, 0] - coordinates[end, 0], 2) +
     230            Math.Pow(coordinates[start, 1] - coordinates[end, 1], 2));
     231
     232      return distance;
     233    }
     234
     235    private static DoubleMatrix CreateDistanceMatrix(DoubleMatrix coordinates) {
     236      DoubleMatrix distanceMatrix = new DoubleMatrix(coordinates.Rows, coordinates.Rows);
     237
     238      for (int i = 0; i < distanceMatrix.Rows; i++) {
     239        for (int j = i; j < distanceMatrix.Columns; j++) {
     240          double distance = CalculateDistance(i, j, coordinates);
     241
     242          distanceMatrix[i, j] = distance;
     243          distanceMatrix[j, i] = distance;
     244        }
     245      }
     246
     247      return distanceMatrix;
     248    }
     249
     250    public static double GetDistance(int start, int end,
     251      DoubleMatrix coordinates, ILookupParameter<DoubleMatrix> distanceMatrix, BoolValue useDistanceMatrix) {
     252      double distance = 0.0;
     253
     254      if (useDistanceMatrix.Value) {
     255        if (distanceMatrix.ActualValue == null) {
     256          distanceMatrix.ActualValue = CreateDistanceMatrix(coordinates);
     257        }
     258
     259        distance = distanceMatrix.ActualValue[start, end];
     260      } else {
     261        distance = CalculateDistance(start, end, coordinates);
     262      }
     263
     264      return distance;
     265    }
     266
     267    public static double GetDistance(int start, int end,
     268      DoubleMatrix coordinates, DoubleMatrix distanceMatrix, BoolValue useDistanceMatrix) {
     269      double distance = 0.0;
     270
     271      if (useDistanceMatrix.Value) {
     272        distance = distanceMatrix[start, end];
     273      } else {
     274        distance = CalculateDistance(start, end, coordinates);
     275      }
     276
     277      return distance;
     278    }
     279
    224280    public void ImportFromSolomon(string solomonFileName) {
    225281      SolomonParser parser = new SolomonParser(solomonFileName);
Note: See TracChangeset for help on using the changeset viewer.