2011年全国大学生数学建模国赛B题程序

合集下载

2011全国数学建模竞赛B题附件2

2011全国数学建模竞赛B题附件2

全市路口节点标号路口所属区域1413359A 1.7说明:2403343A 2.13383.5351A 2.24381377.5A 1.75339376A 2.16335383A 2.57317362A 2.48334.5353.5A 2.49333342A 2.1坐标的长度单位为毫米10282325A 1.611247301A 2.612219316A 2.413225270A 2.214280292A 2.515290335A 2.116337328A 2.617415335A 2.518432371A 1.919418374A 1.820444394A 1.921251277A 1.422234271A 1.423225265A 2.424212290A 1.125227300A 1.626256301A 1.227250.5306A 0.828243328A 1.329246337A 1.430314367A 2.1路口的横坐标X 路口的纵坐标Y 发案率(次数)A列:是全市交通网络中路口节点的标号(序号)B列:路口节点的横坐标X,是在交通网络中的实际横坐标值C列:路口节点的纵坐标Y,是在交通网络中的实际纵坐标值D列:路口节点所属的区E列:各路口节点的发案率是每个路口平均每天的发生报警案件数量地图距离和实际距离的比例是1:100000,即1毫米对应100米31315351A 1.632326355A 1.5案发地P点的标号:32 33327350A 1.434328342.5A 1.735336339A 1.436336334A 1.137331335A0.138371330A 1.239371333A 1.440388.5330.5A 1.741411327.5A 1.442419344A 1.443411343A 1.744394346A 1.145342342A 1.446342348A 1.247325372A 1.648315374A 1.449342372A 1.250345382A 1.151348.5380.5A0.852351377A0.653348369A 1.454370363A0.955371353A156354374A0.557363382.5A0.858357387A 1.159351382A0.960369388A0.761335395A0.662381381A 1.2 63391375A 1.4 64392366A0.8 65395361A0.7 66398362A0.8 67401359A0.8 68405360A0.9 69410355A 1.1 70408350A0.9 71415351A 1.1 72418347A0.8 73422354A0.9 74418.5356A 1.1 75405.5364.5A0.8 76405368A 1.1 77409370A0.8 78417364A0.8 79420370A0.8 80424372A0.8 81438368A 1.4 82438.5373A 1.1 83434376A0.9 84438385A1 85440392A 1.2 86447392A 1.4 87448381A 1.1 88444.5383A0.9 89441385A 1.4 90440.5381.5A0.9 91445380A0.9 92444360A0.893140130B 1.6 94145118B 1.6 9516096B 1.6 96142.571B 2.1 9715070B 1.8 98186145B 1.6 9915873.5B 2.6 10012168B 2.6 101157145B 1.1 102158138.5B0.9 103159135B0.5 104133114B0.7 105137.5113B0.4 106144112B0.8 107139117B0.2 108144.5115B0.8 109151113B0.6 110151.5118B0.9 111150111B0.8 112158118B 1.1 113159109B0.8 114164108.5B0.4 115163105B0.7 11614999.5B 1.2 117143102B0.8 118137103B0.9 119131103B0.5 120130100B0.6 121127102B0.6 12212598B0.8 12312996B0.912413090B0.4 12512490B0.7 12613696B 1.1 12713690B0.8 12814296B0.8 12914896B0.7 13014291B0.6 13114791B0.7 13212871B 1.2 133136.576B0.8 13414279B 1.1 13514781B0.8 13615486B0.9 137148.574.5B 1.1 13814070B0.6 13914063B0.7 140137.563B0.8 14113859B0.4 14214363B 1.1 14315169B0.8 14415363B 1.1 14514360B0.7 14614357B0.6 14714351.5B0.8 14816065B 1.1 14916259B0.6 15014149B0.4 15114340B0.8 15215144B0.5 15315033B0.1 154164124B0.6155171125B0.7 156165.5139B 1.1 157181131B 1.4 158176141B 1.6 159170140B0.8 160168145B0.6 161166150B0.8 162176145B0.6 163180149B0.7 164183145B 1.1 165202131B 1.1 166137.5462C 2.6 167167399C 2.2 168376400C 1.4 169210390C 2.6 170263445C 2.2 171284409C 1.9 172278.5425C 2.2 173295382C2 174299444C 2.6 175362443C 2.2 176410408.5C 2.1 177395520C 2.2 178277496C 1.7 179235465C 2.2 180200466.5C 1.9 181167462C 2.4 182225443C 2.4 183400447C 1.2 184414422C 1.4 185424400C 1.2186411396C 1.4 187420401C0.8 188403404C 1.2 189376406C0.9 190380404C0.8 191377424C0.8 192374424C0.8 193370423C0.4 194368427.5C0.9 195374431C 1.2 196365448C 1.4 197356450C 1.4 198358459C 1.2 199354495C 1.1 200357513C 1.2 201359528C0.4 202347553C0.5 203261537.5C0.8 204270514C 1.4 205313511.5C0.4 206324511C0.8 207333511C0.7 208334497C0.8 209323497C0.7 210312498C 1.1 211317451C 1.1 212316448C0.8 213315.5444C0.7 214316434C0.9 215318412C 1.2 216291.5415C 1.4217284425C 1.4 218281421C 1.6 219299434C 1.4 220302451C 1.4 221305457C 1.2 222281458.5C 1.1 223274448C0.8 224273.5444C0.9 225267446C 1.1 226270440C0.9 227275422C 1.1 228276419C 1.2 229270415C0.8 230276405C 1.4 231288403C 1.4 232293.5392.5C 1.4 233296387C 1.1 234303386C 1.4 235298.5378C 1.6 236293376C 1.2 237296372C 1.7 238276352C1 239250350C 1.4 240247384C 1.2 241262399C 1.4 242269397C 1.2 243276402C 1.3 244282398.5C 1.2 245282386.5C 1.1 246273389C 1.2 247276361C 1.1248138.5378C0.8 249155396C 1.2 250163390C 1.5 251173364C 1.2 252183370C 1.2 253238382C0.7 254213412C0.8 255189413C 1.1 256210433C0.9 257201434C0.9 258150400C 1.2 259135395C 1.2 260143407C 1.1 261142414C0.8 262140430C 1.1 263121432C0.9 264109441C0.5 265138.5442C 1.2 266167442C 1.6 267168435C 1.4 268184440C 1.2 269194442C0.9 270200442C 1.4 271212443C 1.6 272220443C 1.7 273246444C 2.1 274246455C 1.4 275252458C 1.2 276257460.5C 1.5 277255.5466C 1.2 278249464C 1.1279247469C0.8 280254472C0.7 281251.5477C 1.1 282259478C0.8 283261470C0.4 284255494C 1.4 285240495C 1.4 286241514C0.8 287236514C0.7 288235496C0.7 289232487C0.8 290235.5486.5C0.8 291245474C 1.2 292225457.5C 1.4 293225451C 1.6 294219451C 1.4 295219462C 1.2 296228.5472C 1.6 297213481C 1.4 298211487C1 299208.5496C 1.2 300206507C0.8 301206515C 1.2 302200514C0.7 303200507C 1.2 304200497C 1.3 305200484C 1.4 306206466C 1.4 307194466C 1.4 308184463.5C 1.5 309184475C0.8310193.5475C0.7 311193484C0.9 312184484C0.6 313184496.5C0.8 314192.5496.5C0.7 315192507C0.9 316192514C0.8 317170516.5C0.6 318168507C 1.1 319167495.5C 1.4 320101343D 2.4 32191355D 1.7 32270377D 2.5 32346371D 2.4 32456424D 2.1 32520442D 2.2 32674326D 2.6 32776302D 2.1 32815240D 2.6 32928161D0.4 33034.5164.5D0.1 33130181D0.6 33227206D0.2 33342242D 1.4 33430246D 1.6 33531254D 1.1 33639254D 1.2 33750289D0.7 33872288D 1.1 33960246D0.7 34095299D 1.434181297D 1.6 34280287D 1.4 34367314D 1.7 34421330D 1.1 34536360D 1.2 34676344D0.8 34797339D 2.4 348103337D 1.2 349104341D 1.1 35097345D 1.6 35189345D0.8 35281344.5D0.8 35381350D0.4 35489350D0.7 35592.5351.5D 1.1 35688353D 1.4 35781.5353D0.9 35887359D 1.1 35984361D0.9 36076355D0.8 36158.5370D0.6 36234306D0.1 36338418.5D 1.4 36461425D 1.4 36557429D 1.6 36660433D 1.4 36785369D 1.9 368107.5362D 1.4 369131366.5D 1.2 370170342D 1.2 371174340D 1.5372232.5264E 2.4 373202223E 1.9 374241210E 2.4 375235197.5E 2.6 376228173E 2.6 377214164E 2.6 378278196E 2.6 379267168E 2.4 38090167E1 381123177.5E 1.1 382143153E 1.9 383192264E 2.6 384145285E 2.4 385133255E 2.4 38690198E 1.7 3872115E 1.1 3886068E0.8 3897084E0.2 39027149E 1.6 39162143E0.9 39258176E 1.4 39358160E0.6 39472163E0.7 39570176.5E0.7 39690178E0.8 397115168E0.6 398115177.5E0.8 399123168E0.7 400123164E0.6 401123155E0.7 402143164E0.9403144168E 1.2 404149177E0.9 405128178E0.9 406128188E 1.5 407164194E 1.7 408156177E0.8 409168177E 1.1 410156169E0.8 411167168E0.8 412172167E0.9 413167164E0.2 414160164E0.7 415163153.5E 1.2 416186168E 1.6 417269133E 1.6 418295112E 1.1 419302112E 1.4 420316141E 1.6 421278143E 1.7 422284173E 1.4 423257.5170E 1.9 424239198E0.4 425241198E0.3 426246199E0.6 427246.5202E0.4 428240202E0.4 429236201E 1.1 430231199E0.1 431232206.5E0.6 432239.5207.5E0.5 433242206E0.2434235209.5E0.4 435237.5212E0.1 436246208E0.4 437200194E 1.1 438170222E 1.6 43959189E0.8 44072189E0.9 44190187.5E0.6 44274198E0.7 44360196E0.4 44490211E 1.6 445151236E 1.4 446160244E 1.5 44790222E0.8 448129248E 1.7 449142265E 2.1 450152255.5E 1.1 451155258E0.6 452163258E0.8 453171258E 1.1 454171252.5E0.4 455171247E 1.2 456214235E 1.1 457244238E 1.1 458268237E 1.1 459259255E 1.1 460188261E 1.4 461184253E 1.2 462171263E 1.1 463171268E0.8 464163268E0.9465154268.5E0.7 466151275E0.4 467148274E 1.5 468162277.5E 1.5 469177281E0.7 470187284E 1.4 471155316E 1.6 472159292E 1.8 473125267E 1.8 474107285E 1.6 475382.5267F 2.4 476373250F 1.9 477330219F0.8 478400247F 2.3 479441442F 1.7 480417312F 1.5 481332246F 1.9 482321275F 1.7 483403140F 2.1 484420269F 2.4 485455335F 1.9 486295.5238F 1.4 487294244F 1.1 488316300F 1.5 489308257.5F 1.2 490327255F0.8 491316236F 1.4 492314230F0.9 493313223F0.6 494317215F0.2 495318.5222F0.3496320229F0.5 497326.5227.5F0.7 498325220F0.6 499323213F0.4 500329212F0.7 501332226F0.7 502334210.5F0.6 503346209F0.7 504342200F0.8 505356202F0.7 506358195F0.6 507345194F0.4 508348188F0.4 509357.5188F0.6 510359159F 1.1 511404161F 1.2 512403202F0.8 513379202F0.7 514386213F0.8 515373213F0.6 516363212F0.4 517362218F0.8 518354216.5F0.6 519348215F0.9 520349222F0.7 521353223F0.8 522371224F0.8 523371218.5F0.6 524375219F0.4 525388.5218F 1.1 526405213.5F0.8527389224.5F0.9 528388233F0.6 529353229.5F0.8 530334232F0.7 531336239F 1.1 532352247F 1.2 533353236F0.6 534362.5236F0.8 535370236F 1.1 536388237F 1.2 537395.5237.5F 1.4 538395233F 1.1 539408.5227F 1.5 540430237F 1.4 541450268F0.1 542394254F 1.4 543387250F0.9 544383250F 1.1 545369249.5F0.8 546367.5249F0.7 547362249F0.8 548350251F0.6 549348255F 1.4 550355265F 1.1 551367265F0.8 552367257.5F 1.2 553375258F 1.4 554376260F 1.1 555381260F 1.7 556378266F 1.4 557380270.5F 1.2558371284F 1.1 559356.5281F 1.4 560338297F 1.2 561372307F 1.4 562398308F 1.5 563392277F 1.1 564382.5276F0.9 565396270F 1.4 566411291F 1.2 567424297F0.8 568435319F0.9 569434307F0.7 570430295F 1.4 571441309F 1.2 572470342F0.2 573468432F 1.2 574455361F0.6 575453400F0.6 576425433F0.8 577462437F 1.4 578481457F0.6 579462447F 1.2 580440449F 1.4 581423448F1 582435507.5F0.4路线终点(节点)标号说明:17517824434536543946354955065973274789847935103411221126122512471142115715311614163817401742178118811883路线起点(节点)标号A列:全市交通网中连接两路口节点路线的起点标号B列:全市交通网中连接两路口节点路线的终点标号1979 2086 2122 22372 2213 2313 23383 2413 2425 2511 2627 2610 2712 2829 2815 2930 307 3048 3132 3134 3233 3334 338 349 3545 3635 3637 3616 3639 377 38393841 3940 402 4117 4192 4243 432 4372 443 4546 468 4655 4748 476 475 4861 4950 4953 5051 5152 5159 5256 5352 5354 5455 5463 553 5657 5758 5760 5745859 6062 6160 624 6285 6364 6465 6476 6566 6667 6676 6744 6768 6869 6875 6970 6971 691 702 7043 7172 7174 7273 7374 7318 741 7480 7576 7677 7778 77197879 7980 8018 8182 8283 8290 8384 8485 8520 8687 8688 8788 8792 8889 8891 8920 8984 8990 9091 9192 93104 94110 95116 95136 96137 96138 96142 9799 97143 98165 99148100132 100150 101102 102103 102156 10393 103154 104105 105106 105107 106111 106117 10794 10894 108107 108106 108109 109110 110112 111109 111113 112113 113114 113116 114115 114154 11595 115165 116117 116129 117118117128 118105 118119 118126 119120 120121 120123 121104 121122 122123 122125 123124 123126 124125 124127 125132 126127 126128 127130 127133 128129 128130 129131 130131 130134 131135 132133 133134 133140 134135 13496135136 135137 13699 13797 138139 139140 139142 140141 141146 142143 142145 143144 144145 144148 145146 146147 147149 147150 148149 149152 150151 150152 151152 152153 154155 155156 155157 156159 157158 157164 158159158162 158164 159160 160161 160162 161163 162163 163164 16498 165377 166265 166181 167250 167255 168189 170225 170227 171228 171216 171231 172219 173233 173232 173236 174213 174220 175197 175196 176184 176187 177582178210 178284 179291 179274 180305 180270 180306 180307 181308 182273 183184 183196 184185 185186 186168 187185 187186 188176 188186 189190 189192 19062 190191 191192 192193 194193 194175 195194 195188 195196 196197196198 198177 198199 199200 200201 201177 201202 203202 203204 204205 204178 205206 205210 206207 207200 207208 208199 209206 209208 210209 210211 211212 212213 213214 215214 215175 216215 216217 218217 218172 219214219174 220212 221211 221220 221222 222220 222178 222223 223224 224174 225223 225226 226224 226172 227172 227228 228218 229228 229230 230171 231232 232233 233234 234168 235234 23548 235173 236237 23730 237235 237238238239 23929 239240 240241 241242 242243 243230 243244 244231 245244 245232 245236 246241 246242 246245 246247 247237 247238 248369 248239 248249 249167 250251 250252 251252 252253 253240 253254 254169 255256 256257258249 258260 259258 259248 259260 261260 261262 262263 262267 263261 263264 265262 266181 266265 266267 267255 267268 268269 269270 270257 270271 271256 271272 271295 272182 273170 273241 274273 274275 275276 276170276277 277278 277283 278275 279278 279280 280277 280281 281282 282283 284282 285284 285281 286285 286204 286203 286287 287288 288285 289288 289290 290285 290291 291281 291279 292179 292293 293182 293274 294292 294293294272 295292 295296 296179 296290 297296 298289 298297 299298 299288 300299 300301 301287 302301 302303 303300 303304 304299 305304 306297 307269 308307 308268 308309 309310 309312 310307 310311 311305 312311 312313313314 314311 314304 315303 315314 315316 316302 317264 317203 317316 317318 318315 318319 319181 319313 320350 321356 321358 321368 322367 323363 324364 324365 326347 327343 329330 329331 331392 332330 333331 333334333339 334328 334335 335336 336333 336337 337338 337343 338339 338342 338327 339447 340341 341342 341327 343344 343326 344345 345346 345323 346326 346352 346360 347348 347320 348340 348349 349320 349371 350351 350355351352 351354 352353 353354 353357 354355 354356 355321 356357 356358 357358 357360 358359 359360 359367 360361 361362 361323 361322 361264 362332 363325 363324 364367 365364 365366 366369 367368 368349 368369 369370370371 37029 37128 37223 373431 373438 373456 374436 375424 375429 375430 376375 377416 377417 377376 378458 379423 380397 381399 381405 382402 382101 38293 383460 384467 384473 385449 385473 386442 386444 387388387390 388389 388391 388100 389330 389153 390391 390329 392393 392395 392439 393391 393394 394395 394380 395396 395440 396380 396398 396441 397398 398381 399400 399403 400401 400402 401382 402403 402414 403404 403410404405 404407 404408 405406 406407 407437 407438 408409 408410 409411 410411 411412 412413 412416 413414 414415 415101 415161 415416 416437 417418 417421 418419 419420 420421 420422 421379 422379 423376 423424 423378424425 424429 425426 425428 426427 427378 427428 427436 428429 428433 429431 429432 431434 432433 432434 432374 434435 435374 437373 438446 439440 439443 440441 440442 441386 442443 444445 444332 445446 446455 447444447448 448445 448385 449450 449467 450446 450451 451452 451465 452453 453454 453462 454455 454461 455456 456457 456372 457374 457458 457372 458459 458486 45914 45921 460461 460462 462463 463464 464452 465466 466467466468 468464 468469 469463 469470 470383 47024 471472 472468 472384 474447 474473 474471 474340 475555 475565 476545 477501 478542 478566 479577 479580 480568 482489 482559 484539 484570 485571 485572 485573 486487486491 487488 488482 488560 489487 489490 490481 490550 491481 491492 491530 492493 492496 493494 493495 494495 494499 495498 496495 496497 497498 497501 498499 498477 499500 500477 500502 501520 501530 502503 502504504505 505506 505513 506507 506509 507504 508507 508509 508510 509510 510511 511512 511483 512513 513514 514515 515516 516517 517518 517523 518505 518519 518521 519503 519520 520521 521522 521529 522523 522527 523524524515 524525 525514 525526 526512 527525 528527 528529 528536 528538 529530 530531 531481 531532 532533 532547 532548 533529 533534 534535 535536 536537 537538 537478 538539 539526 539540 539478 540541 540484 542543542565 543536 543544 544476 544555 545535 545546 546547 546552 547534 548549 548552 549481 549550 550551 550559 551552 551556 552553 553476 553554 554555 556554 556475 557475 557558 557564 558559 560549 56016 56056156138 561558 561562 562563 562480 563564 563565 565566 566567 567480 567569 568569 568574 569570 569571 570571 572541 572578 573578 574575 575576 576479 577573 577579 580579 580581 581576 581582 581183 582578交巡警平台编号交巡警平台位置标号说明:A11 A22 A33 A44 A55 A66 A77 A88 A99 A1010 A1111 A1212 A1313 A1414 A1515 A1616 A1717 A1818 A1919 A2020 B193 B294 B395 B496 B597 B698 B799 B8100 C1166 C2167 C3168 C4169 C5170 C6171 C7172 C8173 C9174 C10175 C11176 C12177 C13178 C14179 C15180 C16181 C17182 D1320 D2321 D3322A列:表示全市交巡警服务平台的名称编号B列:表示全市交巡警服务平台的位置标号。

2011高教社杯全国大学生数学建模竞赛B题省一等奖

2011高教社杯全国大学生数学建模竞赛B题省一等奖

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):B甲00226所属学校(请填写完整的全名):参赛队员(打印并签名) :1.2.3.指导教师或指导教师组负责人(打印并签名):日期: 2011 年 9 月 12 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警服务平台的设置与调度摘要对于给各个交巡警服务平台分配管辖范围的问题,首先运用Dijkstra算法求出A区交通网络中的任一路口节点到其他路口节点的最短路经值,再从道路的两个节点出发,选出具离它最近的交巡警服务平台,那么此道路就由所选的服务平台来管辖,这样可以依次选出各条道路所对应的交巡警服务平台,那么各交巡警服务平台相对应的管辖范围就能划分出来。

对于调度20各服务平台来封锁13条交通要道,也即13个路口节点的情况,假设每个路口节点只需一个服务平台的警力资源来封锁,建立一个有路程约束的最佳调度方案,得出进出城区的标号为12、14、16、21、22、23、24、28、29、30、38、48、62的路口节点分别由标号为12、9、16、14、10、13、11、15、7、8、2、5、4的交巡警服务平台的警力资源来封锁。

2011年数学建模论文 B 题

2011年数学建模论文 B 题

承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的, 如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写): B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):四川文理学院参赛队员(打印并签名) :1. 高陆2. 肖皓华3. 吕洋琴指导教师或指导教师组负责人(打印并签名):李爱民日期: 2011 年 9 月 12 日赛区评阅编号(由赛区组委会评阅前进行编号):编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):关于交巡警服务平台设置与调度的优化模型摘要本文旨在研究交巡警服务平台的设置与调度问题,根据不同的问题分别建立了与之相应的数学模型。

问题一以中心城区A为主要研究范围,而问题二则主要研究全市(主城六区A,B,C,D,E,F)交巡警服务平台的设置与调度问题。

为解决问题一的三个子问题,我们在认真研究该城区交通网络及现有的20个交巡警服务平台设置情况的基础上,利用题中所给附件2中列出的关于城区A的92个节点的横纵坐标这一具体数据,得出了各个节点间的距离(程序实现见附录2)。

针对问题一的子问题一,即为城区A的各交巡警服务平台分配管辖范围,因要考虑到当在其管辖范围内出现突发事件时,该服务平台的交巡警能尽量在3分钟内到达事发地。

而在此3分钟内,警车所经过的路程不超过3km(警车时速为60km/h)。

2011年数学建模B题

2011年数学建模B题

2011年全国大学生数学建模B题交巡警服务平台的设置与调度题目警车配置及巡逻问题的研究摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。

在设计整个区域配置最少巡逻车辆时,本文设计了算法1:先将道路离散化成近似均匀分布的节点,相邻两个节点之间的距离约等于一分钟巡逻路程。

由警车的数目m,将全区划分成m个均匀的分区,从每个分区的中心点出发,找到最近的道路节点,作为警车的初始位置,由Floyd算法算出每辆警车3分钟或2分钟行驶路程范围内的节点。

考虑区域调整的概率大小和方向不同会影响调整结果,本文利用模拟退火算法构造出迁移几率函数,用迁移方向函数决定分区的调整方向。

计算能满足D1的最小车辆数,即为该区应该配置的最小警车数目,用MATLAB计算,得到局部最优解为13辆。

在选取巡逻显著性指标时,本文考虑了两个方面的指标:一是全面性,即所有警车走过的街道节点数占总街道节点数的比例,用两者之比来评价;二是均匀性,即所有警车经过每个节点数的次数偏离平均经过次数的程度,用方差值来大小评价。

问题三:为简化问题,假设所有警车在同一时刻,大致向同一方向巡逻,运动状态分为四种:向左,向右,向上,向下,记录每个时刻,警车经过的节点和能够赶去处理事故的点,最后汇总计算得相应的评价指标。

在考虑巡逻规律隐蔽性要求时,文本将巡逻路线进行随机处理,方向是不确定的,采用算法2进行计算,得出相应巡逻显著指标,当车辆数减少到10辆或巡逻速度变大时,用算法2计算巡逻方案和对应的参数,结果见附录所示。

本文最后还考虑到4个额外因素,给出每个影响因素的解决方案。

关键词:模拟退火算法;Floyd算法;离散化一问题的重述110警车在街道上巡逻,既能够对违法犯罪分子起到震慑作用,降低犯罪率,又能够增加市民的安全感,同时也加快了接处警时间,提高了反应时效,为社会和谐提供了有力的保障。

2011全国大学生数学建模B

2011全国大学生数学建模B

sij 1 sij 0 s.t. sij 1 jJ s 1 ij iI
(cij 3km) (cij 3km) (i 1 92) ( j 1 20)
s
ij
路口由一个服务台管辖: sij 1(i I )
jJ
sij 1( j J ) 服务台管辖路口数至少为1: iI
问题一( 2 )的思路分析与模型建立
问题一( 2 ) 问题的数学表达:
min f 2 max cij x ij
1i 20 1 j 13
1 ,服务台i对要道j进行封锁 xij 0 ,服务台i不对要道j进行封锁
最大时间最小:
20 xij 1, j 1 13 i 1 13 s.t. xij 1, i 1 20 j 1 x 0或1 ij
问题二( 2 )的思路分析与模型建立
问题二( 2 ) 问题的数学表达:
:嫌犯在t+3内行驶的最大区域
M in T s.t. flag Qt 3 , P 1
:嫌犯在t+3内行使最大区域边界点集;
1 可以分配警力,在t时间到达Qt 3中得路口 flag Qt 3 , P 0 无法分配警力,在t时间到达Qt 3中得路口
问题二
问题二:
针对全市(主城六区 A , B , C , D , E , F )的具体情况,按照设置 交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台 设置方案(参见附件)的合理性,如果有明显不合理,请给出解决 方案;
如果该市地点 P (第 32 个节点)处发生了重大刑事案件,在案发 3 分钟后接到报警,犯罪嫌疑人已驾车逃跑。为了快速搜捕嫌疑犯, 请给出调度全市交巡警服务平台警力资源的最佳围堵方案。

2011数学建模b题完整程序

2011数学建模b题完整程序

[num,data]=xlsread('F:\建模\cumcm2011Problems中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xlsx')x=num(:,2)y=num(:,3)plot(x,y,'r.')[num1,data1]=xlsread('F:\建模\cumcm2011Problems中文版\B\cumcm2011B 附件2_全市六区交通网路和平台设置的数据表.xlsx')[num2,data2]=xlsread('F:\建模\cumcm2011Problems中文版\B\cumcm2011B 附件2_全市六区交通网路和平台设置的数据表.xlsx','全市交通路口的路线')xyznpathnumz=data[:,4]dataz=data[:,4]data[:,4]datedataz=data(:,4)hold onfor i=1:length(x)if(strcmp(z(1),'A')) plot(x(i),y(i),'.') endendhold onfor i=1:length(x)if(strcmp(z(1),'A')) plot(x(i),y(i),'.') endendhold onfor i=1:length(x)if(strcmp(z(i),'A')) plot(x(i),y(i),'.') endendz=z(2:end)hold onfor i=1:length(x)if(strcmp(z(i),'A')) endendhold onfor i=1:length(x)if(strcmp(z(i),'A')) plot(x(i),y(i),'.') endend[num1,data1]=xlsread('C:\Users\yaokaiqian\Desktop\cumcm2011Problems 中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls')[num2,data2]=xlsread('C:\Users\yaokaiqian\Desktop\cumcm2011Problems 中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls','全市交通路口的路线') m=num1(:,6)m=num(:,6)[num1,data1]=xlsread('C:\Users\yaokaiqian\Desktop\cumcm2011Problems 中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls')m=num1(:,6)n=num1(:,7)hold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*'); endendendline1=num2(:,1)line2=num2(:,2)hold onfor i=1:length(x)if(strcmp(z(i),'A')) plot(x(i),y(i),'.'); if(m(i)==1)plot(x(i),y(i),'ro'); endif(n(i)==1)plot(x(i),y(i),'r*'); endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendendhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endend %%%%%%差一个点就OK了for i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendend ----------------------hold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendhold onfor i=1:length(x)if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); ?endhold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); ? endhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end endhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end endendhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endhold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i)); endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end ---------------------全图hold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endtmp=cat(2)tmp1=1;for i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)tmp(tmp1,1)=line1(i) tmp(tmp1,2)=line2(i) endendendxlswrite('tmp.xls',tmp) hold onfor i=1:length(x)if(strcmp(z(i),'A')) plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro'); endif(n(i)==1)plot(x(i),y(i),'r*'); endtext(x(i),y(i),num2str(i));endend-----for i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92) 连线line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end endend------hold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro'); 描点endif(n(i)==1)plot(x(i),y(i),'r*');endend---------for i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end tmp=cat(2)tmp1=1;for i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)tmp(tmp1,1)=line1(i)tmp(tmp1,2)=line2(i)endendendxlswrite('tmp.xls',tmp)clc;clearShapeX = [403 383.5 381 339 335 317 334.5 333 282 247 219 225 280 290 337 415 432 418 444 251 234 225 212 227 256 250.5 243 246 314 315 326 327 328 336 331 371 388.5 411 419 411 394 342 325342 345 348.5 351 348 370 371 354 363 357 351 369 335 381 391 392 395 398 401 405 410 408 415 418 422 418.5 405.5 405 409 417 420 424 438 438.5 434 438 440 447 448 444.5 441 440.5 ];ShapeY = [ 359343351 377.5376383362 353.5342325301316270 292 335 328 335 371 374 394 277 271 265 290 300 301 306 328 337367351355350 342.5339334335330333 330.5 327.5344343342 348 372 374 372 382 380.5 377 369 363 353 374 382.5 387 382 388 395 381 375 366 361 362 359 360 355 350 351 347 354 356 364.5 368 370 364 370 372 368 373 376 385 392 381 383381.5];N=length(ShapeX);for i=1:Nfor j=1:NDistance(i,j)=sqrt((ShapeX(i)-ShapeX(j))^2+(ShapeY(i)-ShapeY(j))^2); endendDistanceA=zeros(N);Max_V alue=zeros(N);for k=1:N[max_line,column]=max(Distance(k,:));A(k,column)=max_line;endMax_V alue(k,column)=max(max(A))[I,J]=find(Max_Value)point_start=[ShapeX(I) ShapeY(I)]point_end=[ShapeX(J) ShapeY(J)]hold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendendhold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i)); endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]);endendendx=x=num(:,2)[num2,data2]=xlsread('C:\Users\yaokaiqian\Desktop\cumcm2011Problems 中文版\B\cumcm2011B附件2_全市六区交通网路和平台设置的数据表.xls')hold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); endendendhold onfor i=1:length(x)plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endendfor i=1:length(line1)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end hold onfor i=1:length(x)if(strcmp(z(i),'A'))plot(x(i),y(i),'.');if(m(i)==1)plot(x(i),y(i),'ro');endif(n(i)==1)plot(x(i),y(i),'r*');endtext(x(i),y(i),num2str(i));endendfor i=1:length(line1)if(line1(i)<=92)if(line2(i)<=92)line([x(line1(i)),x(line2(i))],[y(line1(i)),y(line2(i))]); end endend。

2011年数模国赛b题

2011年数模国赛b题

2011年数模国赛b题2011年数学建模国际竞赛(简称数模国赛)是一个重要的数学竞赛活动,其中B题是其中的一道题目。

以下是对2011年数模国赛B题的多角度全面回答。

2011年数模国赛B题是什么?B题的具体内容是什么?B题涉及哪些方面的知识和技巧?B题需要用到哪些数学模型或方法?B题的解题思路和步骤是什么?B题的难度如何?B题的解答是否有唯一性?B题的解答对实际问题有何意义?B题的解答是否有局限性?B题的解答是否可以推广到其他类似问题?B题的解答是否可以优化或改进?2011年数模国赛B题是一道关于仓库布局优化的问题。

题目要求在给定的仓库平面图中,确定最佳的货架布局,以最大化仓库的存储容量。

具体而言,要求确定货架的位置和朝向,使得仓库中可以容纳最多的货物。

这道题涉及到图论、优化问题和空间布局等方面的知识和技巧。

解决这个问题需要考虑货架的位置、朝向、尺寸以及货物的尺寸和堆叠方式等因素。

同时,还需要考虑仓库的布局限制和安全要求等因素。

在解决这个问题时,可以运用数学建模的方法,建立数学模型来描述仓库布局和货物堆叠的情况。

可以使用图论来表示仓库平面图和货架的连接关系,使用优化算法来寻找最佳的货架布局,并使用数值计算方法来评估不同布局方案的存储容量。

解题的思路和步骤可以分为以下几个部分,首先,对仓库的平面图进行分析,确定仓库的尺寸和布局限制;然后,根据货物的尺寸和堆叠方式,确定货架的尺寸和摆放规则;接下来,建立数学模型,将仓库布局问题转化为优化问题;然后,使用适当的优化算法,求解最佳的货架布局方案;最后,对所得结果进行评估和优化。

这道题的难度较高,需要综合运用图论、优化算法和数值计算等知识和技巧。

解答过程中需要考虑多个因素的综合影响,同时还要注意问题的实际背景和限制条件。

这道题的解答并不唯一,可能存在多个最佳的货架布局方案。

具体的解答取决于问题的具体设置和所使用的优化算法。

这道题的解答对实际问题具有重要意义。

2011年数学建模大赛b题matlab编程

2011年数学建模大赛b题matlab编程

2011年数学建模大赛b题matlab编程是一个涉及数学建模和编程的重要主题。

通过编程,我们可以深入理解数学建模的过程,并通过实际操作来加深对数学模型的理解和应用。

在这篇文章中,我将着重探讨2011年数学建模大赛b题matlab编程的相关内容,并提出个人观点和理解。

1. 背景介绍2011年数学建模大赛b题是一个关于XX的问题,要求参赛者通过建立数学模型来解决实际问题。

在这个过程中,matlab编程成为了必不可少的工具,能够帮助我们完成模型的求解和分析。

2. Matlab编程基础在探讨2011年数学建模大赛b题的过程中,我们首先需要了解matlab编程的基础知识。

如何定义变量、编写函数、进行矩阵运算等。

这些基础知识将为我们后续的模型建立和求解奠定基础。

3. 模型建立与求解在针对2011年数学建模大赛b题的编程过程中,我们需要根据题目要求建立相应的数学模型,并将其转化为matlab可求解的形式。

这一过程需要我们对题目有深入的理解,能够准确地将实际问题转化为数学模型,并使用matlab工具来进行求解。

4. 结果分析与验证完成模型求解后,我们需要对结果进行进一步的分析和验证。

这包括对模型结果的合理性进行评估,查找可能存在的误差来源,并对结果进行可视化展示。

通过这一步骤,我们能够全面地理解模型的求解过程和结果,为后续的讨论和应用奠定基础。

5. 个人观点与理解在完成对2011年数学建模大赛b题的matlab编程探讨后,我个人对这一过程有了更深的理解和感悟。

通过实际操作,我意识到数学建模和编程是紧密相连的,它们相互促进、相互依托。

在这个过程中,我不仅学到了丰富的数学知识,还提升了自己的编程能力和解决实际问题的能力。

总结:2011年数学建模大赛b题matlab编程是一个综合性的学习过程,它涉及了数学建模、编程、模型求解和结果分析等多个环节。

通过深入探讨这一主题,我对数学建模和编程的理解有了全面而深入的提升。

希望通过这篇文章的共享,能够给读者带来启发和收获,激发更多人对数学建模与编程的兴趣和学习热情。

2011全国大学生数学建模竞赛B题题目及参考答案

2011全国大学生数学建模竞赛B题题目及参考答案

2011高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)B题交巡警服务平台的设置与调度“有困难找警察”,是家喻户晓的一句流行语。

警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。

为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。

每个交巡警服务平台的职能和警力配备基本相同。

由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。

试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。

请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。

对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。

实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。

根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。

(2)针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。

如果有明显不合理,请给出解决方案。

如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。

为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。

题目B题交巡警服务平台的设置与调度摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。

[小学教育]2011全国大学生数学建模竞赛B题及参考答案

[小学教育]2011全国大学生数学建模竞赛B题及参考答案

[小学教育]2011全国大学生数学建模竞赛B题及参考答案2011高教社杯全国大学生数学建模竞赛题目,请先阅读“全国大学生数学建模竞赛论文格式规范”,B题交巡警服务平台的设置与调度“有困难找警察”,是家喻户晓的一句流行语。

警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。

为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。

每个交巡警服务平台的职能和警力配备基本相同。

由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。

试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。

请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。

对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。

实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。

根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。

(2)针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。

如果有明显不合理,请给出解决方案。

如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。

为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。

题目交巡警服务平台的设置与调度摘要,本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。

2011 全国大学生数学建模竞赛B题优秀论文

2011 全国大学生数学建模竞赛B题优秀论文

本原则分别对现有的服务平台设置进行验证,发现现有方案很大程度的违背了两种原 则。因此需要对现有方案进行调整。本文选用静态插入模型,在工作量很不均衡且无人 管辖的路口附近新增服务平台,运用 C++搜索找出最少的增加平台数,再沿用问题三的 处理方法,找出需要增加的平台个数以及位置。 问题五:调度全市交巡警服务平台警力资源的最佳围堵方案 对于问题五,也就是追捕逃犯问题,我们采取优化的方案。我们调集全市的警 力围堵逃犯出逃 3 分钟内到达的路口之后可能到达的所有路口,如果无法围堵,则扩大 范围,围堵下一级可能到达的路口。最后通过 lingo 的优化处理,我们得到结果,可以 在 12.68027 分钟内完成围堵。 关键词:逐点扩散模型,静态插入模型,局部最优化思想,Matlab,lingo,C++
16 17 18 19
10
10
20
16 34 17 41 18 91 19 74 71 65 20 91
一、 问题重述
“有困难找警察” ,是家喻户晓的一句流行语。警察肩负着刑事执法、治安管理 交通管理、服务群众四大职能。为了更有效地贯彻实施这些职能,需要在市区的 一些交通要道和重要部位设置交巡警服务平台。每个交巡警服务平台的职能和警 力配备基本相同。由于警务资源是有限的,如何根据城市的实际情况与需求合理 地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临 的一个实际课题。 试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题: (1)附件 1 中的附图 1 给出了该市中心城区 A 的交通网络和现有的 20 个交巡 警服务平台的设置情况示意图,相关的数据信息见附件 2。请为各交巡警服务平 台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在 3 分钟内有 交巡警(警车的时速为 60km/h)到达事发地。 对于重大突发事件,需要调度全区 20 个交巡警服务平台的警力资源,对进出该 区的 13 条交通要道实现快速全封锁。 实际中一个平台的警力最多封锁一个路口, 请给出该区交巡警服务平台警力合理的调度方案。 根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况, 拟在该区内再增加 2 至 5 个平台,请确定需要增加平台的具体个数和位置。 (2)针对全市(主城六区 A,B,C,D,E,F)的具体情况,按照设置交巡警 服务平台的原则和任务, 分析研究该市现有交巡警服务平台设置方案 (参见附件) 的合理性。如果有明显不合理,请给出解决方案。 如果该市地点 P (第 32 个节点)处发生了重大刑事案件,在案发 3 分钟后接到 报警,犯罪嫌疑人已驾车逃跑。为了快速搜捕嫌疑犯,请给出调度全市交巡警 服务平台警力资源的最佳围堵方案。

2011年全国大学生数学建模国赛B题程序

2011年全国大学生数学建模国赛B题程序

Matlab dijkstra算法function [distance,path]=dijkstra(A,s,e)% [DISTANCE,PATH]=DIJKSTRA(A,S,E)% returns the distance and path between the start node and the end node. % A: adjcent matrix% s: start node% e: end node% initializen=size(A,1); % node numberD=A(s,:); % distance vectorpath=[]; % path vectorvisit=ones(1,n); % node visibilityvisit(s)=0; % source node is unvisibleparent=zeros(1,n); % parent nodedistance=D(e);% the shortest distance pathif parent(e)==0, return; endpath=zeros(1,2*n); % path preallocationt=e; path(1)=t; count=1;while t~=s && t>0p=parent(t);path=[p path(1:count)];t=p; count=count+1;endif count>=2*n, error(['The path preallocation length is too short.',...'Please redefine path preallocation parameter.']);endpath(1)=s;path=path(1:count);function [y,fval,flag]=Hungary(C)%********************************************************************** % >> C=[2 15 13 4;10 4 14 15;9 14 16 13;7 8 11 9]% >> [y,fval]=Hungary(C)% M =% 0 0 0 1% 0 1 0 0% 1 0 0 0% 0 0 1 0% y =% 28% >>%********************************************************************** *****[m,n]=size(C);tempC=C;for i=1:mtempC(i,:)=tempC(i,:)-min(tempC(i,:));endfor i=1:ntempC(:,i)=tempC(:,i)-min(tempC(:,i));endtempC=TryAssign(tempC);OneNumber=0;while OneNumber<mRow=zeros(m,1);Col=ones(1,n);Line=[];for i=1:mif IsInMatrix(inf,tempC(i,:))==0Line=[Line,i];Row(i)=1;endendfor i=LineCur=i;while Cur~=0[Cur,Row,Col]=ZeroCover(tempC,Row,Col,Cur); endendtemp=inf;for i=1:mfor j=1:nif tempC(i,j)==inf|tempC(i,j)==-inftempC(i,j)=0;endendendfor i=1:mif Row(i)==1tempC(i,:)=tempC(i,:)-temp;endendfor j=1:nif Col(j)==0tempC(:,j)=tempC(:,j)+temp;endendtempC=TryAssign(tempC);OneNumber=0;endAssignMatrix=zeros(m,n);for i=1:mfor j=1:nif tempC(i,j)==infAssignMatrix(i,j)=1;endendendy=AssignMatrix;temp=C.*AssignMatrix;fval=sum(temp(:));function y=IsInMatrix(a,A);[m,n]=size(A);y=0;for i=1:mfor j=1:nif A(i,j)==ay=1;break;endendif j<nbreak;endendfunction y=TryAssign(C)[m,n]=size(C);while IsInMatrix(0,C)==1flag=0;for i=1:mif ZeroNumber(C(i,:))==1temp=C(i,:);ZeroRowPos=find(temp==0);C(i,ZeroRowPos)=inf;temp=C(:,ZeroRowPos);ZeroColPos=find(temp==0);for j=ZeroColPosC(j,ZeroRowPos)=-inf;endflag=flag+1;endendfor i=1:nif ZeroNumber(C(:,i))==1temp=C(:,i);ZeroColPos=find(temp==0);C(ZeroColPos,i)=inf;temp=C(ZeroColPos,:);ZeroRowPos=find(temp==0);for j=ZeroRowPosC(ZeroColPos,j)=-inf;endflag=flag+1;endendif flag==0temp=inf;for i=1:mif (ZeroNumber(C(i,:))<temp) & (ZeroNumber(C(i,:))>0) temp=ZeroNumber(C(i,:));ZeroRow=i;endendtemp1=find(C(ZeroRow,:)==0);temp2=inf;for i=temp1if (ZeroNumber(C(:,i))<temp2) & (ZeroNumber(C(:,i))>0)temp2=ZeroNumber(C(:,i));ZeroCol=i;endendC(ZeroRow,ZeroCol)=inf;temp=find(C(ZeroRow,:)==0);for i=tempC(ZeroRow,i)=-inf;endtemp=find(C(:,ZeroCol)==0);for i=tempC(i,ZeroCol)=-inf;endendendy=C;function [y,Row,Col]=ZeroCover(C,Row,Col,Cur) [m,n]=size(C);temp=C(Cur,:);flag=0;Cur=[];for i=1:mif temp(i)==-inf & Col(i)~=0Col(i)=0;Cur=[Cur,i];flag=1;endendif flag==0y=0;elsefor i=Curtemp=C(:,i);for i=1:mif temp(i)==inf & Row(i)==0Row(i)=1;y=i;flag=0;[y,Row,Col]=ZeroCover(C,Row,Col,y);break;endendif flag==1y=0;endendendfunction y=ZeroNumber(A)y=0;for i=1:length(A)if A(i)==0y=y+1;endend。

2011数学建模B题完整解答

2011数学建模B题完整解答

关键词: 关键词:交巡警服务平台;调度模型;整数规划;Floyd 算法;Matlab
§1 问题的 问题的重述
一、背景知识 1.交巡警 交巡警是交警与巡警合一的警务模式, 是世界大多数国家普遍采用的成熟警察勤务 模式。交巡警模式比“交巡分离”模式更为合理,减少了警务矛盾与执法漏洞,提高了 执法质量。交巡警制度整合了警力资源,将刑事执法、治安管理、交通管理、服务 群众四大职能有机融合的新型防控体系,这种防控体系现如今已遍布世界各地。 2. 交巡警服务平台 交巡警平台是交巡警警种出现后,设立在交通要道和市区、街镇繁华地带,专门处 理日常警务的作业场所。这种平台使得交巡警在案件发生后,能够立刻抵达出事现场。 为了尽量照顾到某一城区所有的突发事件, 在城市的各个街道和道路节点设置多个交巡 警服务平台是必要的。交巡警服务平台,不仅是城市治安良好的象征,也是一道道亮丽 的风景线。保卫着人民的安全和国家的安定。一般来说,每个交巡警平台会配置 GPS 全 球定位系统以巡逻车、抓捕网、警戒带、路障、防弹衣等设备,可以方便地处理各种突 发情况。 在 2010 年 2 月,一支名为“交巡警”的全新警种在重庆诞生。首批执勤的 150 个 警务平台和 4000 名昼夜循环的交巡警,配备“高精尖”装备,代替过去的交警和巡警, 执行交通管理、刑事执法、治安管理三大职能[1]。在过去的一年中,重庆街面犯罪实际 下降近 40%,未发生一起死亡 10 人以上特大交通事故,主城 21 年来首次出现街头“两 抢”案件单日“零发案”,交巡警服务平台成为名副其实的打击犯罪“第一阵地”。那 么,如何合理设置交巡警服务平台、充分发挥服务平台的功能,以快速应对突发事件, 就成为有关部门面临的一个全新的课题。 二、相关数据 1.某市全市交通路口节点数据(详见题目附表 1) 2.某市全市交通路口的路线(详见题目附表 2) ; 3.某市全市交巡警平台设置方案(详见题目附表 3) ; 4.某市全市出入口位置(详见题目附表 4) ; 5.该市六城区的基本数据(详见题目附表 5) 。 三、要解决的具体问题 1.问题一: 问题一:如何合理分配中心城区 A 内各交巡警服务平台的管辖范围,使其在所 管辖的范围内出现突发事件时,能在 3 分钟内有交巡警到达事发地,其中警车的速度为 60km/h。 2.问题二: 问题二:对于重大突发事件,如何调度 A 区内 20 个平台的警力资源,快速全封 锁该区的 13 个出入口。 3.问题三: 问题三:在 A 区内增加 2 至 5 个平台,以解决服务平台的工作量不均以及部分 地方出警时间过长的实际问题。 4.问题四: 问题四:针对全市六区的情况,分析研究现有交巡警服务平台设置方案的合理 性,并对明显不合理的平台设置给出改进方案。 5.问题五: 问题五:如果地点 P 处发生重大刑事案件,在案发 3 分钟后接到报警,犯罪嫌 疑人已驾车逃跑。试设计调度全市服务平台警力资源的最佳围堵方案。

2011全国大学生数学建模竞赛B题题目及参考答案

2011全国大学生数学建模竞赛B题题目及参考答案

2011高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)B题交巡警服务平台的设置与调度“有困难找警察”,是家喻户晓的一句流行语。

警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。

为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。

每个交巡警服务平台的职能和警力配备基本相同。

由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。

试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。

请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。

对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。

实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。

根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。

(2)针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。

如果有明显不合理,请给出解决方案。

如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。

为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。

题目B题交巡警服务平台的设置与调度摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。

2011年全国大学生数学建模竞赛B题

2011年全国大学生数学建模竞赛B题

2011高教社杯全国大学生数学建模竞赛承诺书我们仔细阅读了中国大学生数学建模竞赛的竞赛规则.我们完全明白,在竞赛开始后参赛队员不能以任何方式(包括电话、电子邮件、网上咨询等)与队外的任何人(包括指导教师)研究、讨论与赛题有关的问题。

我们知道,抄袭别人的成果是违反竞赛规则的,如果引用别人的成果或其他公开的资料(包括网上查到的资料),必须按照规定的参考文献的表述方式在正文引用处和参考文献中明确列出。

我们郑重承诺,严格遵守竞赛规则,以保证竞赛的公正、公平性。

如有违反竞赛规则的行为,我们将受到严肃处理。

我们参赛选择的题号是(从A/B/C/D中选择一项填写):B我们的参赛报名号为(如果赛区设置报名号的话):所属学校(请填写完整的全名):参赛队员(打印并签名):1.韩晓峰2.杨晓帆3.李弘倩指导教师或指导教师组负责人(打印并签名):日期:2011年9月11日赛区评阅编号(由赛区组委会评阅前进行编号):2011高教社杯全国大学生数学建模竞赛编号专用页赛区评阅编号(由赛区组委会评阅前进行编号):赛区评阅记录(可供赛区评阅时使用):评阅人评分备注全国统一编号(由赛区组委会送交全国前编号):全国评阅编号(由全国组委会评阅前进行编号):交巡警服务平台的设置与调度摘要在(1)第一问中,我们根据附表1所给各路口坐标算出A图中每条路线的长度,然后通过floyd算法找出了两点之间的最短路程,得出矩阵D,通过使用matlab圈出各服务平台到周围路口小于3min(即3km)的点,再根据就近原则,将各路口划分到这个圈中离此路口最近的交巡警平台。

对于任意到交巡警平台路程大于3min(即3km)序号为28,29,38,39,61,92的五个路口,则采用就近原则人工划入距离其最近的交巡警平台辖区,这样就在保证出警时间基本都小于3min的条件下,划分出各警务平台合理的管辖范围。

对于(1)第二问中,我们采用指派模型,用lingo软件对20个巡警服务平台对17个城市出入口进行封锁的方法进行了优化,得到初步的调度方案。

2011全国大学生数学建模竞赛B题题目及参考答案

2011全国大学生数学建模竞赛B题题目及参考答案

2011高教社杯全国大学生数学建模竞赛题目(请先阅读“全国大学生数学建模竞赛论文格式规范”)B题交巡警服务平台的设置与调度“有困难找警察”,是家喻户晓的一句流行语。

警察肩负着刑事执法、治安管理、交通管理、服务群众四大职能。

为了更有效地贯彻实施这些职能,需要在市区的一些交通要道和重要部位设置交巡警服务平台。

每个交巡警服务平台的职能和警力配备基本相同。

由于警务资源是有限的,如何根据城市的实际情况与需求合理地设置交巡警服务平台、分配各平台的管辖范围、调度警务资源是警务部门面临的一个实际课题。

试就某市设置交巡警服务平台的相关情况,建立数学模型分析研究下面的问题:(1)附件1中的附图1给出了该市中心城区A的交通网络和现有的20个交巡警服务平台的设置情况示意图,相关的数据信息见附件2。

请为各交巡警服务平台分配管辖范围,使其在所管辖的范围内出现突发事件时,尽量能在3分钟内有交巡警(警车的时速为60km/h)到达事发地。

对于重大突发事件,需要调度全区20个交巡警服务平台的警力资源,对进出该区的13条交通要道实现快速全封锁。

实际中一个平台的警力最多封锁一个路口,请给出该区交巡警服务平台警力合理的调度方案。

根据现有交巡警服务平台的工作量不均衡和有些地方出警时间过长的实际情况,拟在该区内再增加2至5个平台,请确定需要增加平台的具体个数和位置。

(2)针对全市(主城六区A,B,C,D,E,F)的具体情况,按照设置交巡警服务平台的原则和任务,分析研究该市现有交巡警服务平台设置方案(参见附件)的合理性。

如果有明显不合理,请给出解决方案。

如果该市地点P(第32个节点)处发生了重大刑事案件,在案发3分钟后接到报警,犯罪嫌疑人已驾车逃跑。

为了快速搜捕嫌疑犯,请给出调度全市交巡警服务平台警力资源的最佳围堵方案。

题目B题交巡警服务平台的设置与调度摘要:本文研究的是某城区警车配置及巡逻方案的制定问题,建立了求解警车巡逻方案的模型,并在满足D1的条件下给出了巡逻效果最好的方案。

2011高教社杯全国大学生数学建模竞赛B题评阅要点

2011高教社杯全国大学生数学建模竞赛B题评阅要点

2011高教社杯全国大学生数学建模竞赛B题评阅要点[说明]本要点仅供参考,各赛区评阅组应根据对题目的理解及学生的解答,自主地进行评阅。

针对这个题目,评阅时请注意“数学模型、求解方法、结果与分析”这三个方面。

数学模型:尽量用数学语言、符号和公式表述,优化模型要给出明确的决策变量、目标函数和约束条件,表述准确全面。

求解方法:尽量用数学语言对算法的思路、步骤、数据的处理过程、所使用的软件给出明确的描述。

结果与分析:要有明确的数值结果,表达简明、清晰。

[第一部分:要求明确给出分配各个交巡警服务平台具体管辖范围的数学模型和具体的管辖范围(一般指路口,也可考虑相关道路)。

合理性主要体现在两个方面:所有平台最长出警时间尽可能短,且它们的工作量(每天的出警次数)尽量均衡,优秀论文中应该给出这两个量化指标。

参考结果:最大出警时间大于3分钟的有6个路口,最长出警时间约为5.7分钟;同时应有工作量均衡性的度量指标。

(2)要求给出决定对13个路口实施封锁的数学模型,通过求解模型,具体给出13个目标路口各由哪一个平台实施封锁,以及对每个路口的封锁时间和完成封锁的最大时间。

参考结果:最优方案的最大的封锁时间约为8分钟。

(3)模型应该考虑增设平台后,使其减少最大出警时间与各平台间工作量的均衡性效果,要具体给出需增加新平台的个数和位置,且给出其定量依据。

第二部分:(1)应该根据最大出警时间和工作量的均衡性这两个因素建立模型,求解给出最大出警时间和工作量均衡性的具体指标,分析现有平台设置方案的合理性。

依据这些结果,对明显不合理的提出改进方案:如增加平台或移动平台,都必须要有具体的平台数量和位置,且阐述这样做的理由和定量依据。

(2)要求给出能封锁住嫌疑人的数学模型,并给出算法和具体结果。

能封锁住的基本约束条件是:“出事地点到将要封锁的路口所需时间加3分钟大于等于指派平台到封锁路口的所需时间”。

在这个约束条件之下给出最优封锁方案。

PDF 文件使用 "pdfFactory Pro" 试用版本创建。

2011年数模国赛b题

2011年数模国赛b题

2011年数模国赛b题(原创版)目录A.2011 年数模国赛 b 题概述1.题目背景2.题目要求B.题目分析1.题目难点2.解题思路C.解题过程1.第一步:分析题目,确定解题方向2.第二步:建立数学模型,求解问题3.第三步:撰写论文,阐述解题过程和结果D.结论1.题目总结2.对解题过程的反思正文【提纲】2011 年数模国赛 b 题概述1.题目背景2011 年数模国赛 b 题是关于某城市交通问题的题目,要求参赛选手通过建立数学模型来解决交通拥堵问题。

题目背景中描述了该城市的交通状况,包括道路、公交车、私家车等交通方式,以及高峰期和平时交通流量的变化。

2.题目要求题目要求参赛选手在规定时间内完成以下任务:(1)分析城市交通现状,找出交通拥堵的原因;(2)建立数学模型,描述交通流量的变化情况;(3)求解模型,提出解决交通拥堵问题的方案;(4)撰写论文,阐述解题过程和结果。

B.题目分析1.题目难点该题目的难点在于如何建立合适的数学模型来描述交通流量的变化情况,以及如何通过求解模型找到有效的解决方案。

此外,撰写论文时需要清晰地阐述解题过程和结果,让读者能够理解并接受所提出的方案。

2.解题思路解题思路如下:(1)首先,要仔细阅读题目,理解题意,找出问题的关键点;(2)其次,根据题目要求,建立数学模型,可以选择常用的数学方法,如微分方程、矩阵论等;(3)然后,根据建立的模型,求解问题,得到交通流量的变化情况;(4)最后,根据求解结果,撰写论文,阐述解题过程和结果,提出解决交通拥堵问题的方案。

C.解题过程1.第一步:分析题目,确定解题方向通过对题目的仔细阅读和分析,我们确定了解题方向:建立数学模型来描述交通流量的变化情况,并通过求解模型找到解决交通拥堵问题的方案。

2.第二步:建立数学模型,求解问题我们选择了微分方程来描述交通流量的变化情况。

通过建立合适的微分方程模型,我们求解了模型,得到了交通流量的变化情况。

3.第三步:撰写论文,阐述解题过程和结果我们撰写了论文,详细阐述了解题过程和结果,提出了解决交通拥堵问题的方案。

数学建模2011B题 交巡警服务平台的设置与调度 程序

数学建模2011B题 交巡警服务平台的设置与调度 程序

问题一(1):管辖区域的分配:求解最大结合覆盖模型function dyt1.1disp(sprintf('正在载入相关数据...'));Node_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'b2:c93'); %载入A区路口节点的左边数据Routine_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',2,'a2:b144'); %载入路线节点标号数据Record_data = cell(92,1); %创建包体,用来保存92个节点,每点的最大覆盖区域count = 0;%更急路线节点标号数据创建邻接矩阵for i = 1 :92Node_index = Routine_data(find(Routine_data(:,1)==i),2);Node_index = [Routine_data(find(Routine_data(:,2)==i),1);Node_index];Node_index = Node_index(find(Node_index <=92));n = length( Node_index);count = count + n;Record_data{i} = zeros(n,2);for j = 1 : nRecord_data{i}(j,1) = Node_index(j);Record_data{i}(j,2) = 100*sqrt((Node_data(i,1) - Node_data(Node_index(j),1))^2+(Node_data(i,2) - Node_data(Node_index(j),2))^2);endendAdjoin_matrix = zeros(count,3); % 邻接矩阵index_adj = 1;for i = 1 :92[n1,n2] = size(Record_data{i});n = n1;for j = 1 : nAdjoin_matrix(index_adj,:) = [i,Record_data{i}(j,1),Record_data{i}(j,2)];index_adj = index_adj + 1;endend%根据邻接矩阵数据创建图论的稀疏矩阵a1=Adjoin_matrix(:,1)';a2=Adjoin_matrix(:,2)';a3=Adjoin_matrix(:,3)';DG=sparse(a1,a2,a3);%建立稀疏矩阵,图论求解for i=1:92for j=1:92if DG(i,j)==0DG(i,j)=inf;if i==jDG(i,j)=0;endendendendfor k=1:92for i=1:92for j=1:92if DG(i,k)+DG(k,j)<DG(i,j)DG(i,j)=DG(i,k)+DG(k,j);endendendendPatrol_range=cell(20,1);for i=1:20for j=1:92if(DG(i,j)<=3000)Patrol_range{i}=[Patrol_range{i},j];endendendPatrol_distribution=Patrol_range; %复制原始数据Patrol_cover=cell(92,1); %定义交集Cover=[];Isolated=[]; %定义孤立点for i=1:92c=[];for j=1:20m=length(Patrol_range{j});for l=1:mif(Patrol_range{j}(l)==i)c=[c,j]; %保存i节点所对应的所有可能的交通巡警点 endendendm=length(c);if(m>1) %如果大于1,说明有交集,先去除,不分配Cover=[Cover,i];Patrol_cover{i}=c; %保存交集for k=1:mfind(Patrol_distribution{c(k)}~=i);Patrol_distribution{c(k)}=Patrol_distribution{c(k)}(find(Patrol_distr ibution{c(k)}~=i));%预分配只属于自己的交通节点endendif(m==0)Isolated=[Isolated,i];endendPatrol_xin=Patrol_distribution; %进行B类节点的的分配for i=1:92m=length(Patrol_cover{i});Distance_linshi=[];if(m>=1)for j=1:mDistance_linshi(j)=DG(i,Patrol_cover{i}(j));endm0=min(Distance_linshi);for k=1:20if DG(i,k)==m0f=k;endendPatrol_xin{f}=[Patrol_xin{f},i];endendm=length(Isolated); %对孤立点进行分配for i=1:mfor j=1:20dist(j)=DG(Isolated(i),j);end[m0,m1]=min(dist);Patrol_xin{m1}=[Patrol_xin{m1},Isolated(i)];endsave Patrol_xin.mat;问题一(2):求解围堵13条要道的方案程序1:!求围堵的方案与最快时间sets:AA/1..20/;cross/1..13/;links(AA,cross): dis, x;Endsets!数据的定义部分;data:dis=22236.1516028.479286.81219293.4421096.2122501.7522893.219001.1619515.8112083.445880.93511850.114885.217 20463.9214129.727388.06317394.6919197.472060321120.9717228.9317743.5810311.213982.18610309.546035.068 18352.2712767.236025.56616032.1917834.9719240.5119009.3215117.2815631.928199.566093.848197.8844393.385 21997.3815008.518266.85318273.4820076.2621481.7922654.4316226.9115535.348102.9764860.9767395.869350 17628.1912969.636227.96716234.5917749.5219155.0618285.2411306.8710615.293182.9339421.1192475.8265255.075 17658.7813000.216258.55216265.1817780.1119185.6518315.8311337.4510645.883213.5189451.7042506.4115337.332 14914.9410901.224159.55914166.1915036.2716441.8115571.998570.2188015.457583.09527352.7111290.2027991.722 14092.519433.9432692.28212698.9114213.8415619.3814749.5610228.0310493.183060.825885.4343099.4678677.283 13010.718274.2021532.5411539.1713132.0514537.5913667.769775.72210724.413492.3044725.6924199.419336.668 7586.58512775.666956.679510.6937707.9189113.4568243.63514194.8615143.557911.44610149.828618.55314760.8 3791.3538337.29811395.035072.3323269.5574675.0953805.27418633.2319581.9112349.8114588.1813056.9119199.16 011950.2814543.268685.3166882.5416477.0023591.6321781.4522730.1315498.0317736.4116205.1422347.38 5977.0025973.2812714.942708.314905.53855002385.37222808.322375716524.916120.8217232.0121331.79 11950.2806741.6623264.9665067.7416473.288358.65218049.9218916.6811484.3210147.5412191.4215358.51 17029.6113298.086556.42116563.0517150.9418556.4817686.664751.8425700.5254401.4729749.5735108.57911810.1 14543.266741.662010006.6311809.413214.9415100.3111308.2612175.024742.6553405.8775449.7618616.853 21892.1114903.248161.5818168.2119970.9821376.5222549.1618657.1219523.8712091.514755.70312798.627820.525 24247.1818514.4811772.8221779.4523582.2324987.7624904.2321012.1921526.8314094.478366.94613699.266734.362 22546.5316961.4810219.8220226.4522029.2323434.7623203.5819311.5319826.1812393.827639.28111998.615033.709 26945.8 21213.11 14471.45 24478.08 26280.85 27686.39 27602.86 23010.82 22319.25 14886.89 11065.57 14179.78 6448.88;enddata!目标函数;min=@max(links(i,j):x(i,j) * dis(i,j));!需求约束;@for(cross(j):@sum(AA(i): x(i,j))=1);@for(AA(i):@sum(cross(j): x(i,j))<=1);!整数约束;@for(links(i,j):@bin(x(i,j)));程序2:fuction zudj1.2A=zeros(20,13);for i=1:20A(i,1)=DG(i,12);A(i,2)=DG(i,14);A(i,3)=DG(i,16);A(i,4)=DG(i,21);A(i,5)=DG(i,22);A(i,6)=DG(i,23);A(i,7)=DG(i,24);A(i,8)=DG(i,28);A(i,9)=DG(i,29);A(i,10)=DG(i,30);A(i,11)=DG(i,38);A(i,12)=DG(i,48);A(i,13)=DG(i,62);end问题一(3):管辖区域的确定:求解集合覆盖模型并使工作量最均衡程序1:function junheng1.2c=[];for x=1:72c(x)= fenpei(x);endc程序2:function c=fenpei(x)disp(sprintf('正在载入相关数据...'));Node_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'b2:c93'); %载入A区路口节点的左边数据Routine_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',2,'a2:b144'); %载入路线节点标号数据load B.mat;Record_data = cell(92,1); %创建包体,用来保存92个节点,每点的最大覆盖区域count = 0;%更急路线节点标号数据创建邻接矩阵for i = 1 :92Node_index = Routine_data(find(Routine_data(:,1)==i),2);Node_index = [Routine_data(find(Routine_data(:,2)==i),1);Node_index];Node_index = Node_index(find(Node_index <=92));n = length( Node_index);count = count + n;Record_data{i} = zeros(n,2);for j = 1 : nRecord_data{i}(j,1) = Node_index(j);Record_data{i}(j,2) = 100*sqrt((Node_data(i,1) - Node_data(Node_index(j),1))^2+(Node_data(i,2) - Node_data(Node_index(j),2))^2);endendAdjoin_matrix = zeros(count,3); % 邻接矩阵index_adj = 1;for i = 1 :92[n1,n2] = size(Record_data{i});n = n1;for j = 1 : nAdjoin_matrix(index_adj,:) = [i,Record_data{i}(j,1),Record_data{i}(j,2)];index_adj = index_adj + 1;endend%根据邻接矩阵数据创建图论的稀疏矩阵a1=Adjoin_matrix(:,1)';a2=Adjoin_matrix(:,2)';a3=Adjoin_matrix(:,3)';DG=sparse(a1,a2,a3);%建立稀疏矩阵,图论求解for i=1:92for j=1:92if DG(i,j)==0DG(i,j)=inf;if i==jDG(i,j)=0;endendendendPatrol_range=cell(24,1);D_24=B(x,:); %B为可能的分配情况,共有48中,每次从中选取1中可能,本次选取的事第13中可能for k=1:92for i=1:92for j=1:92if DG(i,k)+DG(k,j)<DG(i,j)DG(i,j)=DG(i,k)+DG(k,j);endendendendfor i=1:24for j=1:92dist(j)=DG(D_24(i),j);endfor j=1:92if(dist(j)<=3000)Patrol_range{i}=[Patrol_range{i},j];endendendsave Patrol_range;%求解交集和预分配问题load Patrol_range.mat; %载入数据Patrol_distribution=Patrol_range; %复制原始数据Patrol_cover=cell(92,1); %定义交集Cover=[];Isolated=[]; %定义孤立点for i=1:92c=[];c2=[];for j=1:24m=length(Patrol_range{j});for l=1:mif(Patrol_range{j}(l)==i)c=[c,j]; %保存i节点所对应的所有可能的交通巡警点 c2=[c2,D_24(j)];endendendm=length(c);if(m>1) %如果大于1,说明有交集,先去除,不分配Cover=[Cover,i];Patrol_cover{i}=c2; %保存交集for k=1:mfind(Patrol_distribution{c(k)}~=i);Patrol_distribution{c(k)}=Patrol_distribution{c(k)}(find(Patrol_distr ibution{c(k)}~=i));%预分配只属于自己的交通节点endendif(m==0)Isolated=[Isolated,i];endendsave Patrol_distribution.mat; %完成预分配,对于交集和孤立交点另外考虑save Patrol_cover.mat; %保存交集所对应的可能交通巡警点load Patrol_cover.mat;load Patrol_distribution.mat;load Patrol_range.mat;%初始化预分配中每个交通巡警点的发案次数Occurrence=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'e2:e93'); %A区每个交通节点的发案次数Standard_occurrence=sum(Occurrence)/24Patrol_occurrence=zeros(24,1);for i=1:24m=length(Patrol_distribution{i});a=0;if(m>=1)for j=1:ma=a+Occurrence(Patrol_distribution{i}(j));endPatrol_occurrence(i)=a;endendPatrol_xin=Patrol_distribution; %进行交集分配for i=1:92m=length(Patrol_cover{i});Distance_linshi=[];if(m>=1)for j=1:mDistance_linshi(j)=DG(i,Patrol_cover{i}(j));endA=Sort_vector(Distance_linshi); %记录最小值的相对位置h=length(Distance_linshi);for j=1:hlinshi_canshu=find(D_24==Patrol_cover{i}(A(j,2)));Patrol_occurrence(linshi_canshu);Patrol_cover{i}(A(j,2));if(Patrol_occurrence(linshi_canshu)<=(Standard_occurrence+0.62)) Patrol_xin{linshi_canshu}=[Patrol_xin{linshi_canshu},i];Patrol_occurrence(linshi_canshu)=Patrol_occurrence(linshi_canshu)+Occ urrence(i);break;endif(j==h)iendendendendPatrol_occurrencec=var(Patrol_occurrence);save Patrol_xin.mat;程序3:function chulia=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];I=[28 29];J=[38 39,40];K=[48,61];L=[87 88 89 90 91 92];m=0;for i=1:2for j=1:3for k=1:2for l=1:6m=m+1;B(m,:)=[a,[I(i) J(j) K(k) L(l)]];DD(m,:)=[I(i) J(j) K(k) L(l)];endendendendsave B;程序4:function A=Sort_vector(X) %创建子函数供调用a=length(X);for i=1:a[m0,weizhi]=min(X);A(i,1)=m0;A(i,2)=weizhi;X(weizhi)=inf;End问题二(1)计算现有节点工作量,不均衡度和C类节点个数,以判断合理性:程序1:function Mcm2.1Node_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'b2:c583'); Routine_data=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',2,'a2:b929');Record_data = cell(582,1);count = 0;for i = 1 :582Node_index = Routine_data(find(Routine_data(:,1)==i),2);Node_index = [Routine_data(find(Routine_data(:,2)==i),1);Node_index];n = length( Node_index);count = count + n;Record_data{i} = zeros(n,2);for j = 1 : nRecord_data{i}(j,1) = Node_index(j);Record_data{i}(j,2) = 100*sqrt((Node_data(i,1) - Node_data(Node_index(j),1))^2+(Node_data(i,2) - Node_data(Node_index(j),2))^2);endendAdjoin_matrix = zeros(count,3); % 邻接矩阵index_adj = 1;for i = 1 :582[n1,n2] = size(Record_data{i});n = n1;for j = 1 : nAdjoin_matrix(index_adj,:) = [i,Record_data{i}(j,1),Record_data{i}(j,2)];index_adj = index_adj + 1;endend%创建图论的稀疏矩阵及其图论的求解a1=Adjoin_matrix(:,1)';a2=Adjoin_matrix(:,2)';a3=Adjoin_matrix(:,3)';DG=sparse(a1,a2,a3);%建立稀疏矩阵,图论求解for i=1:582for j=1:582if DG(i,j)==0DG(i,j)=inf;if i==jDG(i,j)=0;endendendendfor k=1:582for i=1:582for j=1:582if DG(i,k)+DG(k,j)<DG(i,j)DG(i,j)=DG(i,k)+DG(k,j);endendendendWeizhi_all=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',3,'b2:b81'); a=length(Weizhi_all);Patrol_range=cell(a,1);for i=1:afor j=1:582dist(j)=DG(Weizhi_all(i),j);%求图中任意两个节点之间的最短距离endfor j=1:582if(dist(j)<=3000)Patrol_range{i}=[Patrol_range{i},j];endendendsave Patrol_range;load Patrol_range.mat; %载入数据Patrol_distribution=Patrol_range; %复制原始数据Patrol_cover=cell(582,1); %定义交集Cover=[];Isolated=[]; %定义孤立点a=length(Weizhi_all);for i=1:582c=[];c2=[];for j=1:am=length(Patrol_range{j});for l=1:mif(Patrol_range{j}(l)==i)c=[c,j]; %保存i节点所对应的所有可能的交通巡警点c2=[c2,Weizhi_all(j)];endendendm=length(c);if(m>1) %如果大于1,说明有交集,先去除,不分配Cover=[Cover,i];Patrol_cover{i}=c2; %保存交集for k=1:mfind(Patrol_distribution{c(k)}~=i);Patrol_distribution{c(k)}=Patrol_distribution{c(k)}(find(Patrol_distr ibution{c(k)}~=i));%预分配只属于自己的交通节点endendif(m==0)Isolated=[Isolated,i];endendsave Patrol_distribution.mat;%完成预分配,对于交集和孤立交点另外考虑save Patrol_cover.mat;%保存交集所对应的可能交通巡警点load Patrol_cover.mat;load Patrol_distribution.mat;load Patrol_range.mat;%初始化预分配中每个交通巡警点的发案次数Occurrence=xlsread('F:\数学建模第二期培训\第一题\B\2.xls',1,'e2:e583'); %A区每个交通节点的发案次数a=length(Weizhi_all);Standard_occurrence=sum(Occurrence)/asum(Occurrence);Patrol_occurrence=zeros(a,1);for i=1:am=length(Patrol_distribution{i});a=0;if(m>=1)for j=1:ma=a+Occurrence(Patrol_distribution{i}(j));endPatrol_occurrence(i)=a;endendPatrol_xin=Patrol_distribution; %进行交集的分配for i=1:582m=length(Patrol_cover{i});Distance_linshi=[];if(m>=1)for j=1:582dist(j)=DG(i,j);endfor j=1:mDistance_linshi(j)=dist(Patrol_cover{i}(j));endA=Sort_vector(Distance_linshi); %记录最小值的相对位置h=length(Distance_linshi);for j=1:hlinshi_canshu=find(Weizhi_all==Patrol_cover{i}(A(j,2)));Patrol_occurrence(linshi_canshu);Patrol_cover{i}(A(j,2));if(Patrol_occurrence(linshi_canshu)<=(Standard_occurrence+8.5)) Patrol_xin{linshi_canshu}=[Patrol_xin{linshi_canshu},i];Patrol_occurrence(linshi_canshu)=Patrol_occurrence(linshi_canshu)+Occ urrence(i);break;endif(j==h)i;endendendend%对孤立点进行分配m=length(Isolated);for i=1:mfor j=1:20D(j)=DG(Isolated(i),j);endIsolated(i);[m0,m1]=min(D);m1;Patrol_xin{m1}=[Patrol_xin{m1},Isolated(i)];Patrol_occurrence(m1)=Patrol_occurrence(m1)+Occurrence(Isolated(i)); endPatrol_occurrence; %每个警力点的工作量length(Patrol_occurrence);var(Patrol_occurrence)[a,b]=max(Patrol_occurrence);zuidazhi=a;b;Weizhi_all(b);save Patrol_xin.mat;程序2:!建立0—1矩阵function jljz2.1AG=zeros(138,502);for i=1:138for j=1:502dist(j)=DG(lsolated(i),j);if(dist(j)<=3000)AG(i,j)=1;endendend程序3:function chulia=[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20];I=[28 29];J=[38 39,40];K=[48,61];L=[87 88 89 90 91 92];m=0;for i=1:2for j=1:3for k=1:2for l=1:6m=m+1;B(m,:)=[a,[I(i) J(j) K(k) L(l)]];DD(m,:)=[I(i) J(j) K(k) L(l)];endendendendsave B;程序4:function A=Sort_vector(X) %创建子函数,共调用使用a=length(X);for i=1:a[m0,weizhi]=min(X);A(i,1)=m0;A(i,2)=weizhi;X(weizhi)=inf;endlingo程序:程序5:!静态增加服务台的方案求解:sets:AA/1..138/;cross/1..502/:x;links(AA,cross): a;Endsetsdata:a = @FILE(F:\数学建模第二期培训\第一题\新建文件夹\第二问\选择表.xls); @TEXT('result1.txt') = x;enddata 27程序6:!动态的求解方案:sets:AA/1..582/;cross/1..582/:x;links(AA,cross): a;Endsetsdata:a = @FILE(F:\数学建模第二期培训\第一题\新建文件夹\第二问\data3.txt); @TEXT('result7.txt') = x;enddatamin =@sum(AA(i):@if(@sum(cross(j):a(i,j)*x(j))#eq#0,1,0));@sum(cross(j): x(j))=80;@for(cross(i):@bin(x(i)));问题二(2):求解最佳围堵方案程序1:% function weidu%找出最佳的围堵方案clear;load DG.mat;load Xunjinwz1.mat;xun_gs = length(Xunjinwz);dist=graphshortestpath(DG,32);%求图中任意个节点到案发点的最短距离for t = 6:30Anfadian=[];for j = 1 :582if(dist(j) <= t*1000 & (t - 1)*1000 <=dist(j) )Anfadian=[Anfadian,j];endendn = length(Anfadian); %罪犯可能到达点的集合A1 = zeros(n,582);for k = 1:ndist2 = graphshortestpath(DG,Anfadian(k));count = 0;for kk = 1 :xun_gs %搜素罪犯到达点集合旁边的巡逻点if(dist2(Xunjinwz(kk)) < (t-3)*1000 )A1(k,Xunjinwz(kk)) = 1;count = count + 1;endendif(count == 0)break;endend[m,n] = size(A1);if(m < n)pp = Pipei(A1);[m,n] = size(pp);if(rank(pp) == m)pipei =zeros(m,2);for i =1:m[row,coloum] = find(pp(i,:)==1);pipei(i,1) = Anfadian(i);pipei(i,2) = coloum;endbreak;endendend程序2:function pip =Pipei(A)%求最大匹配问题[m,n] = size(A);M(m,n)=0;for(i=1:m)for(j=1:n)if(A(i,j))M(i,j)=1;break;endend %求初始匹配 Mif(M(i,j))break;endend %获得仅含一条边的初始匹配 Mwhile(1)for(i=1:m)x(i)=0;end %将记录X 中点的标号和标记*for(i=1:n)y(i)=0;end %将记录Y 中点的标号和标记*for(i=1:m)pd=1; %寻找X 中 M 的所有非饱和点for(j=1:n)if(M(i,j))pd=0;end;endif(pd)x(i)=-n-1;endend %将X 中 M 的所有非饱和点都给以标号0 和标记*, 程序中用 n+1 表示0 标号, 标号为负数时表示标记*pd=0;while(1)xi=0;for(i=1:m)if(x(i)<0)xi=i;break;endend %假如 X 中存在一个既有标号又有标记*的点, 则任取X 中一个既有标号又有标记*的点xiif(xi==0)pd=1;break;end %假如X 中所有有标号的点都已去掉了标记*, 算法终止x(xi)=x(xi)*(-1); %去掉xi 的标记*k=1;for(j=1:n )if(A(xi,j)&y(j)==0)y(j)=xi;yy(k)=j;k=k+1;endend %对与 xi 邻接且尚未给标号的 yj 都给以标号iif(k>1)k=k-1;for(j=1:k)pdd=1;for(i=1:m)if(M(i,yy(j)))x(i)=-yy(j);pdd=0;break;endend %将yj 在 M 中与之邻接的点xk (即xkyj ∈M), 给以标号j 和标记*if(pdd)break;endendif(pdd)k=1;j=yy(j); %yj 不是 M 的饱和点while(1)P(k,2)=j;P(k,1)=y(j);j=abs(x(y(j))); %任取 M 的一个非饱和点 yj, 逆向返回if(j==n+1)break;end %找到X 中标号为0 的点时结束, 获得 M-增广路 P k=k+1;endfor(i=1:k)if(M(P(i,1),P(i,2)))M(P(i,1),P(i,2))=0; %将匹配 M 在增广路 P 中出现的边去掉else M(P(i,1),P(i,2))=1;endend %将增广路 P 中没有在匹配 M 中出现的边加入到匹配M 中break;endendendif(pd)break;endend %假如X 中所有有标号的点都已去掉了标记*, 算法终止pip = M ; %显示最大匹配 M, 程序结束。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Matlab dijkstra算法
function [distance,path]=dijkstra(A,s,e)
% [DISTANCE,PATH]=DIJKSTRA(A,S,E)
% returns the distance and path between the start node and the end node. % A: adjcent matrix
% s: start node
% e: end node
% initialize
n=size(A,1); % node number
D=A(s,:); % distance vector
path=[]; % path vector
visit=ones(1,n); % node visibility
visit(s)=0; % source node is unvisible
parent=zeros(1,n); % parent node
distance=D(e);
% the shortest distance path
if parent(e)==0, return; end
path=zeros(1,2*n); % path preallocation
t=e; path(1)=t; count=1;
while t~=s && t>0
p=parent(t);
path=[p path(1:count)];
t=p; count=count+1;
end
if count>=2*n, error(['The path preallocation length is too short.',...
'Please redefine path preallocation parameter.']);
end
path(1)=s;
path=path(1:count);
function [y,fval,flag]=Hungary(C)
%********************************************************************** % >> C=[2 15 13 4;10 4 14 15;9 14 16 13;7 8 11 9]
% >> [y,fval]=Hungary(C)
% M =
% 0 0 0 1
% 0 1 0 0
% 1 0 0 0
% 0 0 1 0
% y =
% 28
% >>
%********************************************************************** *****
[m,n]=size(C);
tempC=C;
for i=1:m
tempC(i,:)=tempC(i,:)-min(tempC(i,:));
end
for i=1:n
tempC(:,i)=tempC(:,i)-min(tempC(:,i));
end
tempC=TryAssign(tempC);
OneNumber=0;
while OneNumber<m
Row=zeros(m,1);
Col=ones(1,n);
Line=[];
for i=1:m
if IsInMatrix(inf,tempC(i,:))==0
Line=[Line,i];
Row(i)=1;
end
end
for i=Line
Cur=i;
while Cur~=0
[Cur,Row,Col]=ZeroCover(tempC,Row,Col,Cur); end
end
temp=inf;
for i=1:m
for j=1:n
if tempC(i,j)==inf|tempC(i,j)==-inf
tempC(i,j)=0;
end
end
end
for i=1:m
if Row(i)==1
tempC(i,:)=tempC(i,:)-temp;
end
end
for j=1:n
if Col(j)==0
tempC(:,j)=tempC(:,j)+temp;
end
end
tempC=TryAssign(tempC);
OneNumber=0;
end
AssignMatrix=zeros(m,n);
for i=1:m
for j=1:n
if tempC(i,j)==inf
AssignMatrix(i,j)=1;
end
end
end
y=AssignMatrix;
temp=C.*AssignMatrix;
fval=sum(temp(:));
function y=IsInMatrix(a,A);
[m,n]=size(A);
y=0;
for i=1:m
for j=1:n
if A(i,j)==a
y=1;
break;
end
end
if j<n
break;
end
end
function y=TryAssign(C)
[m,n]=size(C);
while IsInMatrix(0,C)==1
flag=0;
for i=1:m
if ZeroNumber(C(i,:))==1
temp=C(i,:);
ZeroRowPos=find(temp==0);
C(i,ZeroRowPos)=inf;
temp=C(:,ZeroRowPos);
ZeroColPos=find(temp==0);
for j=ZeroColPos
C(j,ZeroRowPos)=-inf;
end
flag=flag+1;
end
end
for i=1:n
if ZeroNumber(C(:,i))==1
temp=C(:,i);
ZeroColPos=find(temp==0);
C(ZeroColPos,i)=inf;
temp=C(ZeroColPos,:);
ZeroRowPos=find(temp==0);
for j=ZeroRowPos
C(ZeroColPos,j)=-inf;
end
flag=flag+1;
end
end
if flag==0
temp=inf;
for i=1:m
if (ZeroNumber(C(i,:))<temp) & (ZeroNumber(C(i,:))>0) temp=ZeroNumber(C(i,:));
ZeroRow=i;
end
end
temp1=find(C(ZeroRow,:)==0);
temp2=inf;
for i=temp1
if (ZeroNumber(C(:,i))<temp2) & (ZeroNumber(C(:,i))>0)
temp2=ZeroNumber(C(:,i));
ZeroCol=i;
end
end
C(ZeroRow,ZeroCol)=inf;
temp=find(C(ZeroRow,:)==0);
for i=temp
C(ZeroRow,i)=-inf;
end
temp=find(C(:,ZeroCol)==0);
for i=temp
C(i,ZeroCol)=-inf;
end
end
end
y=C;
function [y,Row,Col]=ZeroCover(C,Row,Col,Cur) [m,n]=size(C);
temp=C(Cur,:);
flag=0;
Cur=[];
for i=1:m
if temp(i)==-inf & Col(i)~=0
Col(i)=0;
Cur=[Cur,i];
flag=1;
end
end
if flag==0
y=0;
else
for i=Cur
temp=C(:,i);
for i=1:m
if temp(i)==inf & Row(i)==0
Row(i)=1;
y=i;
flag=0;
[y,Row,Col]=ZeroCover(C,Row,Col,y);
break;
end
end
if flag==1
y=0;
end
end
end
function y=ZeroNumber(A)
y=0;
for i=1:length(A)
if A(i)==0
y=y+1;
end
end。

相关文档
最新文档