Solution to the COMAP competition for 2014. Uses some Java code.

© All Rights Reserved

4 views

Solution to the COMAP competition for 2014. Uses some Java code.

© All Rights Reserved

- Geometric Design Canada Road Part 1
- An Introduction to Simulation Using SIMSCRIPT II.5
- August 2011 Airside Drivers Handbook
- ansys
- Missouri Department of Transportation Speed Study for Gravois Avenue/Route 30 Gravois - City of St. Louis
- A Tool for Lap Time Simulation.pdf
- lead time theory.pdf
- Major Problems in the Urban Areas Caused by Traffic Congestion
- Labsheet - Signalized Intersection Capacity and LOS
- Approved Corrections to HCM 2000 Jul 2005
- sofa drivers license
- ECNG3016 Practical 3
- Computer Modeling and Simulation of Coalbed Methane Resources
- T013519523
- 3128-11029-1-PB.pdf
- Algorithms for Generating Train Speed Profiles
- Bak.pdf
- JYME10080.09.pdf
- poster042togethertogether (2)
- NY Transportation by the Numbers TRIP Report November 2018

You are on page 1of 9

Team #32050

February 10, 2014

1

Contents

1 The Problem 3

2 Assumptions and Variables 3

3 Model Design 3

4 Model Testing 4

5 Pros and Cons 4

5.1 Pros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

5.2 Cons . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

6 Conclusion 5

7 Appendix 5

2

1 The Problem

In countries where driving automobiles on the right is the rule (that is, USA, China and

most other countries except for Great Britain, Australia, and some former British colonies),

multi-lane freeways often employ a rule that requires drivers to drive in the right-most lane

unless they are passing another vehicle, in which case they move one lane to the left, pass,

and return to their former travel lane.

2 Assumptions and Variables

We assume the desired speed of each driver is normally distributed around the speed limit of

the highway. We assume that this distribution has a standard deviation of 4.4 feet per second

(fps), or approximately 3 miles per hour (mph). We justify this because such as distribution

places a majority of the drivers in a 5mph range from the speed limit. Furthermore, we

assume that a driver is intelligent enough to not accelerate to a speed such that he will

collide with another vehicle. We justify this by stating that modeling collisions is outside

the scope of the problem. We assume that all vehicles are 16 ft long vehicles. We justify this

by observation and measurement one of the authors vehicle, which we take to be typical.

Furthermore, we assume ideal driving conditions in terms of weather and road condition.

We justify this by assuming that any adverse conditions proportionally scale down the eect

of speed limit. Finally, we assume that distance from other vehicles that drivers desire to be

is proportional to their speed where the constant of proportionality is the absolute value of a

normally distributed variable centered 1, with standard deviation 1. Specically, we assume

that the relation is one car length per 10mph, we we take from the BMVs recommendation.

In our model we take into account various variables. Each car has a reference to the

car in front and the car behind it. Furthermore, each car has a limit to how quickly it can

accelerate. Moreover, we use normally disturbed variables to measure deviation from from

expected speeds and safety guidelines.

3 Model Design

We chose to model trac via computer simulation, specically using Java. We justify us-

ing Java not only because of the authors familiarity, but also because the object oriented

paradigm lends itself easily to the modeling of discrete units. We created two objects, one

for the car and one for the road. The road object was responsible for transmitting messages

about the passage of time for every vehicle. The car object was responsible for tracking

speed, acceleration, and determining whether or not to pass another vehicle. By manipulat-

ing the functions of the car object that determined acceleration and passing, we hypothesized

we could simulate dierent trac scenarios. Moreover, since each car only referenced the car

in front and behind it, our model was relatively computation ecient. We chose to measure

congestion by percentage of cars moving at or less than 90% of the speed limit. By choosing

3

a computer simulation, we had the advantage of modifying the model parameters quickly

and easily, which allowed us, in theory, to test many dierent trac levels and passing rules.

4 Model Testing

Unfortunately, we were unable to implement methods that eectively represented the various

passing rules which we wished to test. Namely, the rule presented in the problem: cars only

venture into the left lane to pass. As well as the opportunistic rule which states that, A

driver changes lanes as necessary to attain his desired speed. However, we can qualitatively

predict the behavior of our model if we were able to implement such methods. Given a long

stretch of road with no new trac, the right lane only policy will sort the cars by desired

speed in nite predictable time. This would yield a congestion value equal to the percentage

of cars whose desire speed is less than or equal to 90% of the speed limit. Moreover, if we

allow for a right-most entry lane any cars entering will also sort be sorted by speed after a

nite amount of time.

If we consider the opportunistic rule we qualitatively predict that the cars will also

be sorted in nite time, but in general it will take a longer time since some cars may be

unable to consistently pass other vehicles due to cars traveling in both lanes. However, we

do predict that there is an amount of trac such that the opportunistic model produces

less congestion because there is considerably less trac in each lane as compared to the right

lane only rule.

This is, however, assuming human drivers. Given a system of autonomous vehicles we

assume that it is possible to design an algorithm such that vehicles could be distributed

and sorted optimally along n-many lanes of trac, which is to say we predict the human is

principally responsible for roadway congestion as we have dened it.

5 Pros and Cons

5.1 Pros

Computer simulation allows for rapid testing of dierent parameters

Object oriented paradigm allows for easy extension of the model

Computational approach makes the model easily to understand,conceptualize, and

analyze

5.2 Cons

Simple human statements can be dicult to dicult to implement in computer pro-

grams

Lack of an analytic solution prohibits exact predictions

4

Model accuracy and scale grows proportionally with the amount of computation

Certain simplifying assumptions may cause the model to destabilize for long time

intervals

6 Conclusion

Based on our simulation, we predict that in a human controlled environment the right lane

only rule for passing would be more ecient for most levels of trac. Furthermore, we

predict that human error is the principle cause of roadway congestion. Finally, we provide

framework is extensible and conceptually easy to understand.

7 Appendix

Car.java

package comap2014;

import java.util.Random;

public abstract class Car {

//variables for car

private double speed; //speed of car

private double accellimit; //acceleration of car

private double length; //length of car

private double distToNext; //distance to forward car

private double distToPrev; //distance to rear car

private double position; //current position of car on highway

private int lane; // lane = 0 -> left lane; lane = 1 -> right lane

private double desiredSpeed; //desired speed of driver

private double desiredSafety; // desired distance between cars

private double safetyScale; //Parameter used to determine how "cautious"

of a driver you are. Higher value -> further from cars

private Car carNext;

private Car carPrev;

public Car(double speedLimit,double startPos, Car next){

Random generator = new Random();

double speedScale = generator.nextGaussian(); //normal distribution 1

means 0 this.safetyScale = Math.abs(generator.nextGaussian())+1;

//half of a normal distribution curve

this.desiredSpeed = (speedLimit + (4.4*speedScale)); //quanitatively

accounts for drivers desired speed

5

this.position = startPos;

this.accellimit= 12.6; //acceleration of car in feet per second^2

this.carNext = next;

this.length = 16; //length of car in feet

this.speed = 0;

this.desiredSafety=0;

}

public void setPrev (Car prev){//rear car

this.carPrev = prev;

}

public abstract void shouldIAccelerate(int t);

public abstract void shouldIPass(int t);

public abstract void Pass(int t);

public double getPos(){//determines current position of car

return (this.position);

}

public void updatePos(int t) {

this.position = (this.position + (t * this.speed)); //gives current

position after time t

}

public double getSpeed(){//determines current speed of car

return(this.speed);

}

public Car getNext(){

return(this.carNext);

}

public void accelerate( int t,double deltav) {

System.out.println("accelerating");

if ((deltav / t) <= accellimit) {

this.speed = (this.speed + deltav); //determines how much to accelerate

}

else {

}

this.desiredSafety = ((this.speed / 10) * this.length * .75

6

* this.safetyScale);

//determines safety value based on

}

public double getDesSpeed(){

return(this.desiredSpeed);

}

}

road.java

package comap2014;

public class Road {

private int carnum = 10;

private double speedlimit = 88; //fps

private Car[] cars = new Car[this.carnum];

public Road(){

int i = 0;

System.out.println("Making" + carnum + "cars");

cars[0] = new Car(this.speedlimit, 0, null);

System.out.println("made the first car");

i++;

while (i < this.carnum) {

this.cars[i] = new Car(this.speedlimit, (i*32),

this.cars[i-1]);

System.out.println("made the next car");

this.cars[i-1].setPrev(this.cars[i]);

i++;

}

}

public double computeCongestion(){

int count = 0;

int i = 0;

while (i < this.carnum ){

System.out.println("Car" + i + "is going at speed"

7

+ this.cars[i].getSpeed());

if (this.cars[i].getSpeed() <

(this.speedlimit * .90)){

count++;

}

else {}

i++;

}

double percentage = count/this.carnum;

return(percentage);

}

public void tIncrement(int t) {

int i = 0;

while (i < this.carnum){

this.cars[i].updatePos(t);

i++;

}

i = 0;

while (i < this.carnum){

this.cars[i].shouldIAccelerate(t);

i++;

}

}

public void printDesSpeed(){

int i = 0;

while (i < this.carnum){

System.out.println("Car " + i + "is wanting to go"

+ this.cars[i].getDesSpeed());

i++;

}

}

public static void main(String[] args) {

System.out.println("test");

Road road = new Road();

System.out.println("made a new road");

jewberg.printDesSpeed();

int tmoves = 5;

while (tmoves >= 0){

System.out.println("moving the cars");

road.tIncrement(5);

8

System.out.println("computing congestion");

System.out.println(road.computeCongestion());

System.out.println("computing congestion");

tmoves--;

}

}

}

9

- Geometric Design Canada Road Part 1Uploaded byGagan Si Gantina
- An Introduction to Simulation Using SIMSCRIPT II.5Uploaded byMichalis Michail
- August 2011 Airside Drivers HandbookUploaded by이달주
- ansysUploaded byVishal
- Missouri Department of Transportation Speed Study for Gravois Avenue/Route 30 Gravois - City of St. LouisUploaded bynextSTL.com
- A Tool for Lap Time Simulation.pdfUploaded byRodrigo Bob
- lead time theory.pdfUploaded byRanga Prasad
- Major Problems in the Urban Areas Caused by Traffic CongestionUploaded byDangi DilleeRam
- Labsheet - Signalized Intersection Capacity and LOSUploaded byArnie Farhana
- Approved Corrections to HCM 2000 Jul 2005Uploaded byIsabel Pimenta
- sofa drivers licenseUploaded byapi-279904605
- ECNG3016 Practical 3Uploaded byMarlon Boucaud
- Computer Modeling and Simulation of Coalbed Methane ResourcesUploaded byDavirson Ajah
- T013519523Uploaded byAnonymous 7VPPkWS8O
- 3128-11029-1-PB.pdfUploaded byEris Stianto
- Algorithms for Generating Train Speed ProfilesUploaded bynpfh
- Bak.pdfUploaded bySahana u
- JYME10080.09.pdfUploaded bylingesh1892
- poster042togethertogether (2)Uploaded byJain Ambrose Sachin
- NY Transportation by the Numbers TRIP Report November 2018Uploaded byWGRZ-TV
- Traffic Junction ProjectUploaded byAshraf Jamaludin
- Engineering Failure AnalysisUploaded byvelow
- 2012-ICNSC-ParallelBusRapidTransitBRToperationmanagementsystembasedonACPapproachUploaded byArmando Cortegana
- IOEGC-2017-51Uploaded bySakar Shrestha
- Geometric StandardsUploaded byإبراهيم المرتضى
- Nadeem 2015Uploaded byKevin Marco Chalco Malpartida
- National Science Foundation: nsf0156Uploaded byNSF
- 4C-minh (1)Uploaded bySalman Ahmed Khan
- cete_23Uploaded byEngr Muhammad Sohail
- Test3.pdfUploaded byLe Thi Ngoc Thao

- Manual Multi Parcan 54x3w RgbwUploaded byGaspar Balderrama
- The 2016 State of Cloud IT Report 1Uploaded byMarcos Menha
- 01. Mathematical Preliminaries and Error AnalysisUploaded by楊明訓
- SSG FirewallUploaded byPrateek Porwal
- Moss Tech ReportUploaded byमनीष मुद्गल
- 255526759-CRM-Loyalty-Membership-Management.pdfUploaded byCagatay Vatansever
- Pre Commission Check List for 3DP1S-Ver0Uploaded byecarvind
- FloozyCity.com ReviewUploaded byFloozyCity
- Ch 10 PolynomialsUploaded byNeutron
- InstructionsUploaded byRaja Selvaraj
- The Anthemis Newsletter: Trends in Mobile PaymentsUploaded byanthemisgroup
- MFG PRO- POUploaded byamolking
- SAP MM Tables Link and FlowUploaded byApril Santiago
- GU320Acontrol Panel Operation Manual_EN_A4Uploaded bypresertec
- eMate PreviewUploaded byscri
- Docs Http Sms APIUploaded bypashkasan
- Business Analysis FMCGUploaded bylenaldynuari
- CD Intermediate Code 06012015 033437amUploaded bykiet edu
- WP Lab SyllabusUploaded bysaisampath katru
- NetApp FAS2500 Technical FAQUploaded bywalid97
- Career BookUploaded byanandsoggy
- La Sindrome Del PagliaioUploaded byAvaneesh Srivastava
- Les08Uploaded byksknrindian
- Starting Out With Java.pdfUploaded byGregory Hopper
- Myphone q19i Duo (3)Uploaded byJohn Roque Aliazas
- 10 Outrageous Sexy Moments Hidden in Video Games - GameBasin.comUploaded byGameBasin.com
- bpj lesson 4Uploaded byapi-307093369
- Annex S- Status of Implementation of Prior Year's Audit Recommendations ML 2016 - 04112017Uploaded bynhoj eca yabuj
- The Fourier SeriesUploaded byjMcLean99
- management-reporter-overviewUploaded byapi-178269215