超速問題的c語言編程,超速行駛問題--精選.doc

超速行駛問題

摘要

本文主要研究的是探討驅車從始發地至目的地的最短時間路徑問題和最少花費問題,以及在超速情況下的最短時間和最少花費問題。

首先,從整個題目的兩個問題入手,發現兩個問題都是優化問題,具有一定

的聯系。然后針對第一問, 本文建立了 0-1 規劃的優化模型, 根據模型的約束條

件及矩陣的含義進行編程,找出所有可能出現的路徑,每種路徑對應兩個 0-1 矩陣,分別表示橫向路線和縱向路線, 再將兩個矩陣分別點乘橫向路線與縱向路

9

9

線所表示的時間矩陣, 從而由目標函數 Z

min

( X ij

Yij ) 利用計算機得出最

i

0 i 0

優解 17.78

小時,并找出時間最短的路線為:

a00

a01

a02

a03

a13

a14a15

a25

a35a45

a55a56 a57

a58

a68

a78

a88

a89

a99

然后,對于花費最少問題,本文建立了在每段公路上費用與速度的關系式,根據求極小值, 找出每段公路花費最少時的速度, 從而可計算每段公路的花費最少的金額,再根據時間最短路線的算法,給每段公路賦值(最少花費) ,可得最優解為 274.64 元,其中一條花費最少的路線為:

a00

a01

a11a21

a31

a41a51

a52

a62

a72

a82

a92

a93

a94

a95

a96

a97

a98

a99

最后,考慮到罰款問題, 本文建立了汽車超速百分比分別與被探測可能性和罰款金額的線性關系式, 以及每段公路超速罰款金額的期望值與超速百分比的線

性關系式,并假設在整個路線中的速度保持不變,

即可計算得出每段公路在最小

速度的條件下的花費(包括罰款),再利用問題一的 0-1

規劃模型算出汽車在

0.8T

時間內到達 B 城最少的花費為 524.99

元,找出該路線為:

a00

a01

a11

a12

a22

a32

a42a52

a53

a54a55 a56

a57

a58

a68

a78

a88

a89

a99

在所得結果的基礎上, 我們再次進行模型的修改與優化, 并能將此題的解法應用于車輛監控導航系統中。

關鍵詞: 0-1 規劃最優化線性關系極小值概率期望

一、問題重述

你驅車從 A 城趕往 B 城。 A 城和 B 城間的道路如下圖所示, A 在左下角, B 在右上角,橫向縱向各有 10 條公路,任意兩個相鄰的十字路口距離為 100 公里,所以 A 城到 B 城相距 1800 公里。任意相鄰的十字路口間的一段公路 ( 以下簡稱路

段 ) 都有限速,標注在圖上, 單位為公里每小時。 標注為 130 的路段是高速路段,每段收費 3 元。

整個旅途上的費用有如下兩類。 第一類與花費時間相關, 如住店和飲食, 由公式 c1=5t; 給出, t 單位為小時。 第二類是汽車的油費, 每百公里油量 ( 升) 由公

式 c2=av+b; 給出,其中 a=0.0625,b=1.875,v 的單位為公里 / 每小時。汽油價格為每升 1.3 元。

請建立數學模型,解決以下問題:

若你遵守所有的限速規定,那么時間最短的路線和花費最少的路線分別

是哪一條?

為了防止超速行駛, 交警放置了一些固定雷達在某些路段上, 如圖上紅色的路段。另外,他們放置了 20 個移動雷達。 這些雷達等概率地出現在各個路段,

你可能在一個路段同時發現多個雷達,也可能在裝有固定雷達的路段發現移動雷

達。每個雷達都監控了自身所在的整個路段。如果你超速 10%,則你有 70%的可能被雷達探測到,且會被罰款 100 元;如果你超速 50%,你有 90%的可能被雷達

探測到,且會被罰款200 元。

假設 T 是遵守所有限速規定所花的最少時間,但你有急事想在0.8T 時間內

趕往 B 城,那么包括罰款在內最少花費多少?路線又是哪一條?

二、問題分析

本題是一個對選擇路線的優化問題, 需要對每段路線的最短時間及最少費用的最佳速度進行分析,并找出它們的聯系。

對于問題一,若要找出時間最短的路線, 必須知道車在每段公路不超速的前提下的最少時間, 將每段公路行駛的最短時間作為此公路的權值, 并且必須限定車的行駛方向為向右或向上,因此車最少需經過 18 條公路,在此基礎上,我們建立 0-1 規劃模型,建立以路線的最少時間為目標函數, 以汽車行駛方向和經過的公路總數建立約束條件, 然后設計可行程序, 尋找時間最短路線, 并依據目標函數計算出最短時間。 對于第一問中的花費最少的路徑, 我們只需計算在每條公路上的最少花費, 而花費與時間和油量相關, 而時間和油量都與速度相關, 因此我們只需建立一個以速度為自變量和以花費為因變量的函數關系式, 利用求極小值的方法求出每段路上最少花費對應的速度,再計算出每段路對應的最少

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372043.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372043.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372043.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

重新查看Play Framework發布的值

與Play Framework 2.0一起使用發布的值而不定義表單映射,可能不像Play 1.x那樣明顯,這就是為什么我要編寫此快速備忘單。 對于此快速示例,讓我們定義以下視圖: app / views / index.scala.html (message: String)message: messa…

matlab 微積分

符號變量,symbolic variable 1. 高階導數 高階導數的計算,當然可以用手工的方式,但顯然這種機械重復的推導,更適用于計算機的計算方式: f(x)sinxx24x3?d4fdx4>> syms x; >> f sin(x) / (x^24*x3); >&…

如何查看Ubuntu版本,以及Linux內核版本??

查看Ubuntu版本: 方法一: cat /etc/issue 方法二: sudo lsb_release -a 查看內核版本: uname -r 轉載于:https://www.cnblogs.com/tanrong/p/6937749.html

c語言編碼風格,講嵌入式C語言編碼風格.ppt

講嵌入式C語言編碼風格目 錄 簡介及說明 語言規則 1.基礎 2.數據 3.說明與表達式 4.函數 5.內存及資源 6.源文件 風格指導 7.程序書寫 8.命名 9.文檔 簡介及說明 正確性 易維護性 易移植性 代碼的高效性 語言規則——基礎 編寫清晰表達設計思路和意圖的代碼 針對易讀來優化代碼…

使用Gradle引導舊式Ant構建

Gradle提供了幾種不同的方式來利用您現有的對Ant的投資,包括積累的知識和您已經放入構建文件中的時間。 這可以極大地方便將Ant生成的項目移植到Gradle的過程,并為您提供逐步進行此操作的路徑。 Gradle文檔在描述如何在Gradle構建腳本中使用Ant方面做得很…

實現chrome擴展啟動本地進程 - 補充

實現chrome擴展啟動本地進程 - 補充 標簽: chrome擴展啟動本地程序訪問本地磁盤2014-10-17 11:42 6753人閱讀 評論(17) 收藏 舉報分類:Chrome Plugin版權聲明:本文為博主原創文章,未經博主允許不得轉載。 示例 主要包含如下部分 c…

SpringMVC整合MongoDB

首先&#xff0c;在pom文件中新增spring-data-mongodb的依賴&#xff1a; <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.8.1.RELEASE</version>&l…

單路電壓表c語言編程,用AT89C51單片機制作的數字電壓表

此數字電壓表&#xff0c;利用A/D轉換原理將被測模擬量轉換成數字量&#xff0c;并通過控制系統用數字方式顯示測量結果。本設計采用AT89C51單片機&#xff0c;ADC0809進行模/數轉換&#xff0c;能夠測量8路0&#xff5e;5V的輸入電壓值&#xff0c;可用四位LED數碼管輪流或單路…

ZK的實際應用:MVVM –加載和渲染數據

先前的文章簡要介紹了RIA框架ZK&#xff0c;以及它CSS Selector啟發式控制器機制如何通過使在控制器類中引用UI組件的任務變得相對靈活來減輕UI更改所帶來的一些負擔。 然后&#xff0c;我們在上一篇文章中探討了ZK中的MVVM模式如何允許單個ViewModel提供不同的視圖。 這篇文章…

搭建一個簡單的mybatis框架

一、Mybatis介紹 MyBatis是一個支持普通SQL查詢&#xff0c;存儲過程和高級映射的優秀持久層框架。MyBatis消除了幾乎所有的JDBC代碼和參數的手工設置以及對結果集的檢索封裝。MyBatis可以使用簡單的XML或注解用于配置和原始映射&#xff0c;將接口和Java的POJO&#xff08;Pla…

定時操作范例

1 package timetask.demo;2 3 import java.text.SimpleDateFormat;4 import java.util.Date;5 import java.util.Timer;6 import java.util.TimerTask;7 8 /*9 * time類 是一個線程實施&#xff0c;可以用來實現在某一個時間或者某一個時間段后安排某一個任務執行一次或者定期…

c語言空格符 r t,c語言中、\t \r \n 和空格什么意思

具體意思&#xff1a;都是轉義字符&#xff0c;空格就是單純的空格&#xff0c;輸入時可以輸入空格\t 跳格 \r 回車 \n 換行\\ 反斜杠 \a 警告 \b 退格 \f 換頁 \v 垂直跳格 \ddd ddd 是 1、2 或 3 位八進制數字。轉義字符串(Escap…

如何在運行時更改日志記錄級別

在運行時中更改日志記錄級別很重要&#xff0c;這主要在生產環境中非常重要&#xff0c;在生產環境中&#xff0c;您可能希望在有限的時間內進行調試日志記錄。 好了&#xff0c;更改根記錄器非常簡單–假設您有一個具有所需記錄級別的輸入參數&#xff0c;只需獲取根記錄器并…

擴展中國剩余定理

轉自&#xff1a;http://blog.csdn.net/clove_unique/article/details/54571216 對于兩個方程$x\equiv c_1\pmod {m_1}$$x\equiv c_2\pmod {m_2}$將其合并為一個方程&#xff0c;有解條件為$(m1,m2)|(c2-c1)$$m\frac{m1m2}{(m1,m2)}$$c(inv(\frac{m1}{(m1,m2)},\frac{m2}{(m1,m…

易語言添加ctrl c鍵,易語言操作快捷鍵匯總

以下是關于易語言的快捷鍵內容&#xff1a;預覽被設計窗口 CtrlEnter運行 F5終止運行 CtrlF5編譯 F7菜單編輯器 CtrlE即時幫助 F1在編輯窗口之間跳轉。按下 Ctrl 鍵后不放&#xff0c;然后反復按 Tab 鍵可以在目前所有的編輯窗口之間跳轉&#xff1b;按下 Ctrl 鍵后同時按下 Ta…

在代理類中引用動態代理

在Stackoverflow中有一個有趣的問題 &#xff0c;關于Spring Bean如何獲??得對由Spring創建的代理的引用以處理事務&#xff0c;Spring AOP&#xff0c;緩存&#xff0c;異步流等。需要對代理的引用&#xff0c;因為如果存在對自身的調用通過代理bean&#xff0c;此調用將完全…

Array的用法總結-swift

Araay是有序的數據集&#xff0c;在OC中分為不可變數組NSArray和可變數組NSMutableArray&#xff0c;在swift中只有常量和變量兩種類型&#xff0c;聲明成變量那就可以說明是可變的了&#xff01; 學習時的具體的用法總結成如下的代碼&#xff1a; //數組var arrInts [Int]()/…

Frame URl

http://www.zi-han.net/theme/hplus/?v4.1 http://webapplayers.com/inspinia_admin-v2.5/ http://baijunyao.com/article/67 轉載于:https://www.cnblogs.com/shijiaoyun/p/6065755.html

linux的i o模型,淺談Linux 網絡 I/O 模型簡介(圖文)

1、介紹Linux 的內核將所有外部設備都看做一個文件來操作(一切皆文件)&#xff0c;對一個文件的讀寫操作會調用內核提供的系統命令&#xff0c;返回一個file descriptor(fd&#xff0c;文件描述符)。而對一個socket的讀寫也會有響應的描述符&#xff0c;稱為socket fd(socket文…

handsontable 方法匯總

核心方法1.為handsontable添加鉤子方法 addHook(key,callback):key為鉤子方法名 例如&#xff1a;hot.addHook(beforeInit, myCallback); addHookOnce(key,callback)&#xff1a;添加只使用一次的方法&#xff0c;用完后自動刪除 例如&#xff1a;hot.addHookOnce(beforeInit, …